Excel - подсчет элементов на другом листе между определенным диапазоном, соответствующим определенным критериям

Я создавал лист Excel для опроса набора данных и создания набора показателей. Я стремлюсь сделать процесс максимально расширяемым.

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

Лист показателей (Лист1)

и

Лист набора данных (Лист2)

Цель состоит в том, чтобы в выделенной ячейке (D6) отображалось количество элементов в «Листе2», которые соответствуют критериям статуса элемента «Открыто».

Сначала мне это удалось с помощью формулы:

COUNTIFS(Sheet2!C:C,"Open")

а затем сделать его более расширяемым, используя:

COUNTIFS(INDIRECT(" ' "&D4&" ' !C:C "),"=" &C8)

Это означает, что я могу использовать ячейку (D4) для ссылки на лист, который я хочу просмотреть, и ячейку (C8) для ссылки на критерии, которые я хочу найти. Это хорошо работает до тех пор, пока мне не нужно искать пробелы в наборе данных, после чего он подсчитывает все пробелы в указанном столбце (см. ячейку D8 в таблице показателей).

Поэтому мне было интересно, есть ли удобный способ указать диапазон столбцов для просмотра, например, C1: C100, используя ячейки для ссылки на диапазон, аналогично использованию ячеек для справочного листа и критериев. Я могу использовать приведенную ниже формулу, но она по-прежнему требует, чтобы имя листа было записано в формуле, а не указано в ячейке.

COUNTIF((Sheet2!C1:INDIRECT(CONCATENATE("Sheet2!C", B2))),""&C8)

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

ОБНОВЛЕНИЕ

Следуя ответу JvdV, я смог удалить все переменные из формулы в ячейки на листе показателей (полезно для того, что я делаю, и может представлять интерес для других). По сути, он использует функции 'INDIRECT' и 'CONCAT' для создания необходимой строки, цветного кодированного изображения< /а>


person JMM    schedule 20.03.2019    source источник


Ответы (1)


Вот что вы можете попробовать, чтобы удовлетворить ваши потребности:

введите здесь описание изображения

Формула, которую я использовал в F1, переводится как:

=COUNTBLANK(INDIRECT(G1&"C1:C"&COUNTA(INDIRECT(G1&"A:A"))))

Ячейка G1 — это просто список, например:

введите здесь описание изображения

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

=COUNTBLANK(INDIRECT(G1&"C1:C"&B2))

Остерегаться; использование INDIRECT() приводит к нестабильности вашей формулы!

person JvdV    schedule 20.03.2019
comment
Да, это сработало, я также попытался удалить все переменные (например, тот факт, что это столбец C) из формулы в ячейки снаружи, которые затем можно было бы изменить, как вы сделали в списке, и это тоже работает - person JMM; 20.03.2019
comment
Если это сработало и решило вашу проблему, отметьте ответ как ответ! Имейте здесь - person JvdV; 20.03.2019