Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Задание условий для подсчёта на разных листах - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Задание условий для подсчёта на разных листах
Narak-zempo Дата: Вторник, 25.11.2014, 22:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!
Есть книга с 3 листами На первом список видов растений (столбец D) с атрибутами редкости (столбец F), на втором тот же список (столбец A) c распределением находок по различным местообитанием. На третьем матрица, в ячейки число видов, соответствующих каждому из атрибутов редкости, встречающихся в каждом из местообитаний. То есть, надо задать подсчёт ненулевых значений в соответствующих столбцах листа 2, связав их с атрибутами на листе 1 через совпадение значений в списках на листах 1 и 2. Пробовал СЧЁТЕСЛИМН(Атрибуты!$F:$F;$A2;Атрибуты!$D:$D;ВxС!$A:$A;ВxС!B:B;">0"), но она не работает, подозреваю, именно из-за неправильного условия совпадения списков.

Подскажите, можно ли решить эту проблему без использования сводной таблицы? Копирование атрибутов на второй лист тоже по ряду причин не вариант.
К сообщению приложен файл: 5006281.xlsx (21.8 Kb)
 
Ответить
СообщениеЗдравствуйте!
Есть книга с 3 листами На первом список видов растений (столбец D) с атрибутами редкости (столбец F), на втором тот же список (столбец A) c распределением находок по различным местообитанием. На третьем матрица, в ячейки число видов, соответствующих каждому из атрибутов редкости, встречающихся в каждом из местообитаний. То есть, надо задать подсчёт ненулевых значений в соответствующих столбцах листа 2, связав их с атрибутами на листе 1 через совпадение значений в списках на листах 1 и 2. Пробовал СЧЁТЕСЛИМН(Атрибуты!$F:$F;$A2;Атрибуты!$D:$D;ВxС!$A:$A;ВxС!B:B;">0"), но она не работает, подозреваю, именно из-за неправильного условия совпадения списков.

Подскажите, можно ли решить эту проблему без использования сводной таблицы? Копирование атрибутов на второй лист тоже по ряду причин не вариант.

Автор - Narak-zempo
Дата добавления - 25.11.2014 в 22:20
gling Дата: Вторник, 25.11.2014, 23:10 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2643
Репутация: 739 ±
Замечаний: 0% ±

2010
Не знаю правильно ли понял, но гляньте.
К сообщению приложен файл: 2452008.xlsx (22.9 Kb)


ЯД-41001506838083
 
Ответить
СообщениеНе знаю правильно ли понял, но гляньте.

Автор - gling
Дата добавления - 25.11.2014 в 23:10
buchlotnik Дата: Вторник, 25.11.2014, 23:34 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
gling, понял аналогично, только у ТС шапки на листах 2 и 3 расходятся - лечил вручную B)
Код
=СУММПРОИЗВ(ЕСЛИ(ВxС!B$2:B$21<>0;1;0);(--(Атрибуты!$E$2:$E$21=Паттерны!$A2)))
К сообщению приложен файл: 5006281-1-.xls (46.0 Kb)


Сообщение отредактировал buchlotnik - Вторник, 25.11.2014, 23:53
 
Ответить
Сообщениеgling, понял аналогично, только у ТС шапки на листах 2 и 3 расходятся - лечил вручную B)
Код
=СУММПРОИЗВ(ЕСЛИ(ВxС!B$2:B$21<>0;1;0);(--(Атрибуты!$E$2:$E$21=Паттерны!$A2)))

Автор - buchlotnik
Дата добавления - 25.11.2014 в 23:34
gling Дата: Среда, 26.11.2014, 00:03 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2643
Репутация: 739 ±
Замечаний: 0% ±

2010
Да, ошибку в шапке не заметил, в начеле и в конце одинаковые и проверять не стал. Тогда с проверкой столбца можно, правда длинновата получилась.
Код
=СУММПРОИЗВ((ИНДЕКС(ВxС!$B$2:$J$21;;ПОИСКПОЗ(Паттерны!B$1;ВxС!$B$1:$J$1;0))>0)*(ВxС!$A$2:$A$21=Атрибуты!$D$2:$D$21)*(Атрибуты!$E$2:$E$21=Паттерны!$A2))


ЯД-41001506838083

Сообщение отредактировал gling - Среда, 26.11.2014, 00:04
 
Ответить
СообщениеДа, ошибку в шапке не заметил, в начеле и в конце одинаковые и проверять не стал. Тогда с проверкой столбца можно, правда длинновата получилась.
Код
=СУММПРОИЗВ((ИНДЕКС(ВxС!$B$2:$J$21;;ПОИСКПОЗ(Паттерны!B$1;ВxС!$B$1:$J$1;0))>0)*(ВxС!$A$2:$A$21=Атрибуты!$D$2:$D$21)*(Атрибуты!$E$2:$E$21=Паттерны!$A2))

Автор - gling
Дата добавления - 26.11.2014 в 00:03
Narak-zempo Дата: Среда, 26.11.2014, 12:09 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое!

Первый вариант от qlinq сработал.

Конечно, заманчиво, чтобы программа сама искала нужный столбец, но формула с проверкой позиции при попытке переписать её в настоящем файле с данными почему-то возвращает ненулевые значения там, где их не должно быть. Я не очень хорошо знаком с этими функциями, поэтому логика формулы для меня непрозрачна и сходу понять, где косячу, не могу.
 
Ответить
СообщениеСпасибо большое!

Первый вариант от qlinq сработал.

Конечно, заманчиво, чтобы программа сама искала нужный столбец, но формула с проверкой позиции при попытке переписать её в настоящем файле с данными почему-то возвращает ненулевые значения там, где их не должно быть. Я не очень хорошо знаком с этими функциями, поэтому логика формулы для меня непрозрачна и сходу понять, где косячу, не могу.

Автор - Narak-zempo
Дата добавления - 26.11.2014 в 12:09
Narak-zempo Дата: Четверг, 27.11.2014, 11:20 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте ещё раз.

У предлагаемых решений обнаружился подводный камень: они чувствительны к порядку названий в списках и при их несовпадении выдают неверные результаты. Поскольку первоначальная формулировка задачи была довольно туманна для меня самого :) , теперь постараюсь её уточнить и разбить на этапы. Итак:

1) Отфильтровать на первом листе виды по одному из 3-х атрибутов;
2) По каждому виду (столбец D) найти соответствие списке (т.е. по всему столбцу A) на листе ВхС;
3) Найдя соответствующую строку, проверить значение в ячейке на пересечении этой строки с определённым столбцом (столбец можно задавать вручную);
4) Если это значение больше нуля, увеличить результат на единицу
 
Ответить
СообщениеЗдравствуйте ещё раз.

У предлагаемых решений обнаружился подводный камень: они чувствительны к порядку названий в списках и при их несовпадении выдают неверные результаты. Поскольку первоначальная формулировка задачи была довольно туманна для меня самого :) , теперь постараюсь её уточнить и разбить на этапы. Итак:

1) Отфильтровать на первом листе виды по одному из 3-х атрибутов;
2) По каждому виду (столбец D) найти соответствие списке (т.е. по всему столбцу A) на листе ВхС;
3) Найдя соответствующую строку, проверить значение в ячейке на пересечении этой строки с определённым столбцом (столбец можно задавать вручную);
4) Если это значение больше нуля, увеличить результат на единицу

Автор - Narak-zempo
Дата добавления - 27.11.2014 в 11:20
gling Дата: Четверг, 27.11.2014, 18:00 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2643
Репутация: 739 ±
Замечаний: 0% ±

2010
По Вашему новому описанию получается точно такая же таблица как на листе ВхС только значения на 1 больше , исключая 0 (нули). Задача полностью изменилась, совсем запутали.
Цитата
Найдя соответствующую строку, проверить значение в ячейке на пересечении этой строки с определённым столбцом (столбец можно задавать вручную);
4) Если это значение больше нуля, увеличить результат на единицу
а первоначально было
Цитата
надо задать подсчёт ненулевых значений
Оставил старый вариант только немного доработал. Если не так, покажите какой должен быть результат. Про суммировать что либо или подсчитать, в Сообщении №6 ничего нет.
К сообщению приложен файл: 6833307.xlsx (23.9 Kb)


ЯД-41001506838083

Сообщение отредактировал gling - Четверг, 27.11.2014, 18:05
 
Ответить
СообщениеПо Вашему новому описанию получается точно такая же таблица как на листе ВхС только значения на 1 больше , исключая 0 (нули). Задача полностью изменилась, совсем запутали.
Цитата
Найдя соответствующую строку, проверить значение в ячейке на пересечении этой строки с определённым столбцом (столбец можно задавать вручную);
4) Если это значение больше нуля, увеличить результат на единицу
а первоначально было
Цитата
надо задать подсчёт ненулевых значений
Оставил старый вариант только немного доработал. Если не так, покажите какой должен быть результат. Про суммировать что либо или подсчитать, в Сообщении №6 ничего нет.

Автор - gling
Дата добавления - 27.11.2014 в 18:00
Narak-zempo Дата: Суббота, 29.11.2014, 13:15 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Мда, возможно я не очень хорошо умею формулировать алгоритмы - программирование даже в школьном мизерном объёме давалось с трудом :D

Пунктом 4 должен идти подсчёт ненулевых, "увеличить на единицу" имелось в виду, что так считаться будет.
 
Ответить
СообщениеМда, возможно я не очень хорошо умею формулировать алгоритмы - программирование даже в школьном мизерном объёме давалось с трудом :D

Пунктом 4 должен идти подсчёт ненулевых, "увеличить на единицу" имелось в виду, что так считаться будет.

Автор - Narak-zempo
Дата добавления - 29.11.2014 в 13:15
buchlotnik Дата: Суббота, 29.11.2014, 13:46 | Сообщение № 9
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Narak-zempo, дайте пример как должно выглядеть - камни быстрее уберутся
 
Ответить
СообщениеNarak-zempo, дайте пример как должно выглядеть - камни быстрее уберутся

Автор - buchlotnik
Дата добавления - 29.11.2014 в 13:46
Narak-zempo Дата: Суббота, 29.11.2014, 14:08 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Пример "как должно выглядеть" в сообщении №2 от qlinq: http://www.excelworld.ru/_fr/144/2452008.xlsx

Но выглядит всё так, как надо, только пока порядок списков на первом и втором листе совпадает. Попробуйте упорядочить один из списков обратно алфавиту - и все значения изменятся.
 
Ответить
СообщениеПример "как должно выглядеть" в сообщении №2 от qlinq: http://www.excelworld.ru/_fr/144/2452008.xlsx

Но выглядит всё так, как надо, только пока порядок списков на первом и втором листе совпадает. Попробуйте упорядочить один из списков обратно алфавиту - и все значения изменятся.

Автор - Narak-zempo
Дата добавления - 29.11.2014 в 14:08
buchlotnik Дата: Суббота, 29.11.2014, 14:24 | Сообщение № 11
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Narak-zempo, я потому и прошу пример, если у вас по факту списки разные, то и решение будет совсем другим. Да и насколько они разные, возможны ли повторы - тут целый лес нюансов


Сообщение отредактировал buchlotnik - Суббота, 29.11.2014, 14:33
 
Ответить
СообщениеNarak-zempo, я потому и прошу пример, если у вас по факту списки разные, то и решение будет совсем другим. Да и насколько они разные, возможны ли повторы - тут целый лес нюансов

Автор - buchlotnik
Дата добавления - 29.11.2014 в 14:24
Narak-zempo Дата: Суббота, 29.11.2014, 14:44 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, списки по факту одинаковые, в примере фрагмент реального рабочего списка. Но в процессе работы они могут меняться. Скажем, на одном из листов надо будет выделить дополнительную строку для шапки или сортировать список в другом порядке. Поэтому нужна формула, нечувствительная к несовпадению номера строки.

Собственно, я заметил недостаток первого решения, потому что в одном из полных списков 2 строки были поменяны местами - и они недосчитывались. Вы можете убедиться, поменяв местами строки в примере.


Сообщение отредактировал Narak-zempo - Суббота, 29.11.2014, 14:46
 
Ответить
Сообщениеbuchlotnik, списки по факту одинаковые, в примере фрагмент реального рабочего списка. Но в процессе работы они могут меняться. Скажем, на одном из листов надо будет выделить дополнительную строку для шапки или сортировать список в другом порядке. Поэтому нужна формула, нечувствительная к несовпадению номера строки.

Собственно, я заметил недостаток первого решения, потому что в одном из полных списков 2 строки были поменяны местами - и они недосчитывались. Вы можете убедиться, поменяв местами строки в примере.

Автор - Narak-zempo
Дата добавления - 29.11.2014 в 14:44
buchlotnik Дата: Суббота, 29.11.2014, 14:59 | Сообщение № 13
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Мне не нужно ни в чём убеждаться - я знаю логику формул и понимаю, что при изменении порядка они работать не будут - это очевидно.
А вот в этом:
Цитата
списки по факту одинаковые... в процессе работы они могут меняться
судя по всему не синхронно - я логики не вижу. Примера не дождался, жаль


Сообщение отредактировал buchlotnik - Суббота, 29.11.2014, 15:00
 
Ответить
СообщениеМне не нужно ни в чём убеждаться - я знаю логику формул и понимаю, что при изменении порядка они работать не будут - это очевидно.
А вот в этом:
Цитата
списки по факту одинаковые... в процессе работы они могут меняться
судя по всему не синхронно - я логики не вижу. Примера не дождался, жаль

Автор - buchlotnik
Дата добавления - 29.11.2014 в 14:59
Narak-zempo Дата: Суббота, 29.11.2014, 15:40 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, если Вас не затруднит, объясните, каким должен быть пример? Чем отличаться от того, который в начале темы?
 
Ответить
Сообщениеbuchlotnik, если Вас не затруднит, объясните, каким должен быть пример? Чем отличаться от того, который в начале темы?

Автор - Narak-zempo
Дата добавления - 29.11.2014 в 15:40
buchlotnik Дата: Суббота, 29.11.2014, 16:04 | Сообщение № 15
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Narak-zempo, в начале темы пример, для которого вы получили решение. Потом выяснилось, что
Цитата
Скажем, на одном из листов надо будет выделить дополнительную строку для шапки или сортировать список в другом порядке.

пример должен показать как это выглядит
никто не пишет абстрактно-универсальные формулы для любого случая, любой хотелки и чтобы это устроило всех и вся, особенно начальника
 
Ответить
СообщениеNarak-zempo, в начале темы пример, для которого вы получили решение. Потом выяснилось, что
Цитата
Скажем, на одном из листов надо будет выделить дополнительную строку для шапки или сортировать список в другом порядке.

пример должен показать как это выглядит
никто не пишет абстрактно-универсальные формулы для любого случая, любой хотелки и чтобы это устроило всех и вся, особенно начальника

Автор - buchlotnik
Дата добавления - 29.11.2014 в 16:04
Narak-zempo Дата: Суббота, 29.11.2014, 16:35 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, теперь понятно.

Вот пример. На листе 2 (ВхБ) список из 208 видов в произвольном порядке (повторов нет и не предусматривается); на листе 1 (Атрибуты) - 20 из них (для примера взял первые 20 по алфавиту). В таблице на листе 3 (Паттерны) надо подсчитать, сколько из этих 20 видов, имеющих атрибуты R, F и C, встречаются в каждом из биотопов (т.е., в каждом из столбцов на листе ВхБ). Очень желательно, чтобы добавление видов с соотв. атрибутами в список на листе 1 автоматически отражалось в таблице результатов на листе 3, кроме того, чтобы на эти результаты не влияло изменение порядка списков.
К сообщению приложен файл: 2698020.xlsx (65.6 Kb)
 
Ответить
СообщениеСпасибо, теперь понятно.

Вот пример. На листе 2 (ВхБ) список из 208 видов в произвольном порядке (повторов нет и не предусматривается); на листе 1 (Атрибуты) - 20 из них (для примера взял первые 20 по алфавиту). В таблице на листе 3 (Паттерны) надо подсчитать, сколько из этих 20 видов, имеющих атрибуты R, F и C, встречаются в каждом из биотопов (т.е., в каждом из столбцов на листе ВхБ). Очень желательно, чтобы добавление видов с соотв. атрибутами в список на листе 1 автоматически отражалось в таблице результатов на листе 3, кроме того, чтобы на эти результаты не влияло изменение порядка списков.

Автор - Narak-zempo
Дата добавления - 29.11.2014 в 16:35
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!