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

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

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

Metrics Sheet (Sheet1)

и

Data Set Sheet (Sheet2)

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

Сначала я справился с формулой:

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

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

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

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

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

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

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

UPDATE

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

1 Ответ

0 голосов
/ 20 марта 2019

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

enter image description here

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

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

Ячейка G1 - это просто список, подобный следующему:

enter image description here

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...