Обращение к области именованного диапазона - PullRequest
1 голос
/ 29 июня 2019

Именованные диапазоны могут содержать несколько областей, которые являются просто ссылками, разделенными запятой.Какие обозначения используются для обозначения области именованного диапазона?

Например, я поместил алфавит в столбцы AD.Столбец A имеет AG, столбец B имеет HO, столбец C имеет PU, а столбец D имеет VZ.Мой именованный диапазон называется Алфавит, и ссылка выглядит следующим образом:

=Sheet1!$A$1:$A$7,Sheet1!$B$1:$B$8,Sheet1!$C$1:$C$6,Sheet1!$D$1:$D$5

Есть ли встроенная запись для обозначения области именованного диапазона?Я обнаружил, что могу получить весь столбец B один, используя INDEX как:

{=INDEX(Alphabet,,,2)}

, который легко возвращает массив {"H";"I";"J";"K";"L";"M";"N";"O"}.

Это не решает моюпроблема, хотя.Я хочу иметь возможность подсчитать количество строк в каждой области каждого диапазона.Я попытался разыменовать число областей в диапазоне и передать его в INDEX, а затем запустить ROWS для него как функцию массива, но это не удалось, потому что, как только вы передаете массив параметру area_num INDEX возвращает только первый ряд каждой области.Неудачный пример:

{=INDEX(Alphabet,,,N(IF({1},ROW(INDEX(Sheet1!$A:$A,1):INDEX(Sheet1!$A:$A,AREAS(Alphabet))))))}

Возвращает массив {"A";"H";"P";"V"}, который не является тем, что я ищу, так как я хотел бы подсчитать строки в каждой области.

Поиск строго длярешение только по формуле (т.е. без VBA).Есть идеи?

1 Ответ

0 голосов
/ 30 июня 2019

Получить адрес именованного диапазона:

ADDRESS(ROW(Alphabet),COLUMN(Alphabet))&":"&ADDRESS(ROW(Alphabet)+ROWS(Alphabet)-1,COLUMN(Alphabet)+COLUMNS(Alphabet)-1)

Получить первый ряд / последний ряд именованного диапазона:

=ROW(Alphabet) / =ROWS(Alphabet)

Получить первый столбец / последний столбец именованного диапазона:

=COLUMN(Alphabet) / =COLUMNS(Alphabet)

Получить диапазон 3-го столбца именованного диапазона:

=ADDRESS(ROW(Alphabet),COLUMN(Alphabet)+3-1)&":"&ADDRESS(ROW(Alphabet)+ROWS(Alphabet)-1,COLUMN(Alphabet)+3-1) 

Подсчет непустых ячеек в 3-м столбце именованного диапазона:

=COUNTA(INDIRECT(ADDRESS(ROW(Alphabet),COLUMN(Alphabet)+3-1)&":"&ADDRESS(ROW(Alphabet)+ROWS(Alphabet)-1,COLUMN(Alphabet)+3-1)))
...