Как отобразить общее количество из листов при использовании нескольких выпадающих списков в Excel?

Вопрос или проблема

У меня есть рабочая книга с несколькими листами. На каждом листе вы можете выбрать пользователя из выпадающего списка и затем выбрать элемент из другого выпадающего списка. На любом листе может быть несколько случаев выбора пользователя и элемента.

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

скриншот примерного листа

Я могу собирать одиночные результаты, используя следующую формулу:

=COUNTIFS('15'!$C:$C, E4, '15'!$D:$D, E5)

Мои листы озаглавлены с 1 до 31.

Чтобы использовать COUNTIFS на нескольких листах с одинаковой структурой столбцов, объедините его с SUMPRODUCT и INDIRECT.

Сначала перечислите все имена листов в столбце A вашего сводного листа, которые вы хотите включить в функцию COUNTIFS. Например, поскольку ваши рабочие листы названы с 1 до 31, введите “Список листов” в ячейку A1, затем введите значения с 1 по 31 в ячейки A2 по A32.

Пример COUNTIFS, который вы предоставили, теперь можно изменить, чтобы включить все рабочие листы, перечисленные в диапазоне A2:A32 следующим образом:

=SUMPRODUCT(COUNTIFS(INDIRECT("'"&A2:A32&"'!C2:C1000"), E4, INDIRECT("'"&A2:A32&"'!D2:D1000"), E5))

ПРИМЕЧАНИЕ: так как эта формула вычисляется на 31 листе, избегайте использования ссылок на весь столбец, таких как “C:C” или “D:D”; вместо этого выберите разумное количество строк, которое достаточно далеко расширяется ниже ваших данных, но не настолько далеко, чтобы замедлить производительность. В этом примере я использовал “C2:C1000” и “D2:D1000”.

Чтобы достичь окончательного сводного листа, как показано на предоставленном скриншоте, используйте правильное сочетание абсолютных и относительных ссылок на диапазоны, чтобы иметь возможность копировать формулу по всем строкам и столбцам сводной области. Например, с листом списка в диапазоне A2:A32, списком пользователей в диапазоне C2:C3 и списком элементов в диапазоне D1:F1, используйте следующую формулу в ячейке D2, затем скопируйте её по и вниз, чтобы завершить отчет:

=SUMPRODUCT(COUNTIFS(INDIRECT("'"&$A$2:$A$32&"'!C2:C1000"), $C2, INDIRECT("'"&$A$2:$A$32&"'!D2:D1000"), D$1))

Окончательные результаты должны выглядеть примерно так:

sumproduct_countifs.jpg

Ответ или решение

Чтобы аккумулировать общее количество элементов по всем листам в Excel при использовании нескольких выпадающих списков, можно воспользоваться формулой, которая объединяет возможности функций COUNTIFS, SUMPRODUCT и INDIRECT. Давайте подробно рассмотрим, как это реализовать в вашем случае, при условии, что листы пронумерованы от 1 до 31 и выбрана структура данных, как описано в вашем вопросе.

Шаги для создания сводного листа:

  1. Подготовьте список листов:

    • На вашем сводном листе, введите в колонку A названия всех листов, которые вы хотите учитывать. Например, начиная с ячейки A2 и до A32, введите числа от 1 до 31, представляющие имена ваших листов.
  2. Настройте выпадающие списки:

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

    • Для получения суммы occurrences выбранного пользователя и элемента по всем листам, используйте следующую формулу в ячейке нужного диапазона сводного листа. Допустим, вы хотите разместить итоговые данные, начиная с ячейки D2, и у вас:
      • $C$2: Пользователь выбранного выпадающего списка.
      • D$1: Элемент выбранного выпадающего списка.

    Формула:

    =SUMPRODUCT(COUNTIFS(INDIRECT("'"&$A$2:$A$32&"'!C2:C1000"), $C2, INDIRECT("'"&$A$2:$A$32&"'!D2:D1000"), D$1))

Дополнительные советы:

  • Оптимизация диапазонов: Избегайте использования полного диапазона столбцов (напр., C:C, D:D), так как это может замедлить производительность. Вместо этого используйте обоснованные диапазоны, как, например, C2:C1000 и D2:D1000, чтобы охватить все ваши данные.

  • Настройка ячеек: Обратите внимание на применение абсолютных и относительных ссылок (например, $C2 для пользовательского ряда), чтобы формула могла быть скопирована через весь диапазон без изменения требований.

  • Проверка и тестирование: Убедитесь, что формула возвращает правильные результаты, проверяя их на небольшом наборе данных, прежде чем применять к большему объему информации.

С помощью этой настройки, вы получите динамический сводный отчет, который будет автоматически обновляться при изменении данных на отдельных листах или при изменении выбора в выпадающих списках на сводном листе. Эта стратегия, основанная на использовании комбинации INDIRECT и SUMPRODUCT, предоставляет мощный и гибкий инструмент для управления данными в многолистовом формате Excel.

Оцените материал
Добавить комментарий

Капча загружается...