Excel: 获取非隐藏单元格的文本值
Excel: get text value of non-hidden cells
这个公式
SUBTOTAL(3,OFFSET($F,ROW($F:$F0)-ROW($F),0))
为隐藏的单元格提供数组 0,为未隐藏的单元格提供 1。
我想要的是隐藏单元格的 0 或空白数组以及那些非隐藏单元格的单元格值,即文本。
什么公式可以做到这一点?
以下图片为示例。如果我通过选择 1 来过滤第 1 列。那么,只有 Apple、Pineapple 和 Banana 会出现在屏幕上。其余的将被隐藏。我需要这个数组:{"Apple","","","",Pineapple,"","Banana","",""}。
获取非隐藏单元格的文本值
试试这个数组公式 (Ctrl+Shift+Enter):
=TRANSPOSE(IF(SUBTOTAL(3,OFFSET($F,ROW($F:INDEX($F:$F0,COUNTA($F:$F0)))-ROW($F),0))=1,F5:INDEX($F:$F0,COUNTA($F:$F0)),""))
这将 return 一个数组结果:
={"Apple","","","","Pineapple","","Banana","",""}
而且,
要统计人数"Banana"
试试这个数组公式 (Ctrl+Shift+Enter):
=SUM(0+(IF(SUBTOTAL(3,OFFSET($F,ROW($F:INDEX($F:$F0,COUNTA($F:$F0)))-ROW($F),0))=1,F5:INDEX($F:$F0,COUNTA($F:$F0)),"")="Banana"))
在你的例子中 return 1
备注:
1] SUBTOTAL+OFFSET公式原来是return一行数组的结果。由于您需要列数组结果,因此在第一个公式中添加 TRANSPOSE() 以将行数组转换为列数组。
2] 第二个公式是一个计数公式,行或列数组将给出相同的结果,因此不需要 TRANSPOSE()。
这是计算可见度的替代方法 Banana
:
E1
中的公式:
=SUMPRODUCT((B2:B10="Banana")*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B10)-2,0))))
此答案基于 this 网站,该网站为您提供了更多背景信息,说明为什么会这样。
这个公式
SUBTOTAL(3,OFFSET($F,ROW($F:$F0)-ROW($F),0))
为隐藏的单元格提供数组 0,为未隐藏的单元格提供 1。
我想要的是隐藏单元格的 0 或空白数组以及那些非隐藏单元格的单元格值,即文本。
什么公式可以做到这一点?
以下图片为示例。如果我通过选择 1 来过滤第 1 列。那么,只有 Apple、Pineapple 和 Banana 会出现在屏幕上。其余的将被隐藏。我需要这个数组:{"Apple","","","",Pineapple,"","Banana","",""}。
获取非隐藏单元格的文本值
试试这个数组公式 (Ctrl+Shift+Enter):
=TRANSPOSE(IF(SUBTOTAL(3,OFFSET($F,ROW($F:INDEX($F:$F0,COUNTA($F:$F0)))-ROW($F),0))=1,F5:INDEX($F:$F0,COUNTA($F:$F0)),""))
这将 return 一个数组结果:
={"Apple","","","","Pineapple","","Banana","",""}
而且,
要统计人数"Banana"
试试这个数组公式 (Ctrl+Shift+Enter):
=SUM(0+(IF(SUBTOTAL(3,OFFSET($F,ROW($F:INDEX($F:$F0,COUNTA($F:$F0)))-ROW($F),0))=1,F5:INDEX($F:$F0,COUNTA($F:$F0)),"")="Banana"))
在你的例子中 return 1
备注:
1] SUBTOTAL+OFFSET公式原来是return一行数组的结果。由于您需要列数组结果,因此在第一个公式中添加 TRANSPOSE() 以将行数组转换为列数组。
2] 第二个公式是一个计数公式,行或列数组将给出相同的结果,因此不需要 TRANSPOSE()。
这是计算可见度的替代方法 Banana
:
E1
中的公式:
=SUMPRODUCT((B2:B10="Banana")*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B10)-2,0))))
此答案基于 this 网站,该网站为您提供了更多背景信息,说明为什么会这样。