谷歌表格使用FILTER函数时如何排除含空白单元格的列
解决方案
你可以通过嵌套LET+BYCOL+LAMBDA函数组合实现列维度的过滤,以下是适配你场景的公式:
=LET( filtered, FILTER(Sheet1!A2:J, Sheet1!A2:A="John"), CHOOSECOLS(filtered, BYCOL(filtered, LAMBDA(col, COUNTA(col) > 0))) )
逻辑说明
- 第一层先用
FILTER筛选出所有姓名为John的行,结果存入filtered变量,避免重复计算 BYCOL会遍历筛选结果的每一列,通过LAMBDA自定义规则统计每列的非空单元格数量- 规则可根据你的实际需求调整:
- 保留至少有一个非空值的列:使用
COUNTA(col) > 0(符合你描述的排除全空白列需求) - 保留完全没有空白单元格的列:替换为
COUNTA(col) = ROWS(col)
- 保留至少有一个非空值的列:使用
- 最后用
CHOOSECOLS把所有符合规则的列提取出来即可
注意事项
上述函数均为谷歌表格原生支持的新版函数,无需额外安装扩展或开启权限,直接写入单元格即可自动溢出计算。
内容的提问来源于stack exchange,提问作者Dum Acco
相关产品推荐
相关产品推荐

