Получить диапазон ячеек путем получения адресов ячеек с формулами - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь написать формулу, которая позволит мне посчитать количество строк, используемых между диапазонами ячеек.Я создал тестовую формулу, чтобы увидеть, был ли мой мыслительный процесс прямым.Для моего теста я поместил заголовок с именем «NUM» (A1), а затем в том же столбце кучу строк «1», а затем еще один заголовок под первым массивом с именем «NUM2» (column A, но мог бы бытьв любом месте) с более "1" под этим.Я использую формулу, чтобы найти адрес ячейки, чтобы найти первый заголовок, который

=CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1))

, который напечатал ($A$1), а затем комбинирую его с

=CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1))

, который напечатал($A$14), чтобы получить имя второго заголовка, после этого я использую функцию COUNTIF для подсчета таких слов:

 =COUNTIF((CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1)))&":"& CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1))),"1"))

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

=COUNTIF($A$1:$A$14,"1")

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

1 Ответ

0 голосов
/ 19 декабря 2018

Вам просто не хватает INDIRECT , который превратит вашу строку в ссылку на ячейку.

=COUNTIF(INDIRECT(CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1)) & ":" & CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1))),1)

Более простой вариант (при условии, что столбец A) будет

=COUNTIF(INDIRECT("A"&MATCH("NUM",A:A,0)&":A"&MATCH("NUM2",A:A,0)),1)

Вы также можете использовать OFFSET.

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