命名范围可以包含多个区域,它们只是用逗号分隔的引用。用什么符号来表示命名范围的区域?
例如,我将字母放在A-D列中。列A具有A-G,列B具有H-O,列C具有P-U,列D具有V-Z。我命名的范围称为Alphabet,引用看起来像这样:
=Sheet1!$A$1:$A$7,Sheet1!$B$1:$B$8,Sheet1!$C$1:$C$6,Sheet1!$D$1:$D$5
是否存在用于引用命名范围的区域的内置符号?我发现可以这样使用INDEX
来获得B列的全部信息:
{=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)解决方案。有什么想法吗?
答案 0 :(得分:0)
获取命名范围的地址:
ADDRESS(ROW(Alphabet),COLUMN(Alphabet))&":"&ADDRESS(ROW(Alphabet)+ROWS(Alphabet)-1,COLUMN(Alphabet)+COLUMNS(Alphabet)-1)
获取命名范围的第一行/最后一行:
=ROW(Alphabet) / =ROWS(Alphabet)
获取指定范围的第一列/最后一列:
=COLUMN(Alphabet) / =COLUMNS(Alphabet)
获取命名范围的第三列的范围:
=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)))