如何在Google Sheets中统计非连续单元格中的文本数量?
统计非连续单元格/区域的文本单元格数量
适用Excel 365/2021(支持动态数组)
如果你的需求是统计指定非连续单元格/区域中非空的文本单元格数量(即只要单元格有文本内容就算,不管是否重复),可以用以下公式:
基础版(匹配你的示例场景)
=COUNTA(TOCOL({H8,H4,H9},1))
针对混合区域+单个单元格的场景:
=COUNTA(TOCOL({H2:H5,H7,H9},1))
- 公式说明:
{H8,H4,H9}或{H2:H5,H7,H9}:用大括号包裹所有需要统计的非连续单元格/区域,逗号分隔不同对象。TOCOL(...,1):将非连续的单元格集合转换为单列,参数1表示自动忽略空单元格。COUNTA():统计转换后列中的非空单元格总数,完全匹配你示例中的结果(3或6)。
严格版(仅统计文本类型单元格)
如果需要严格区分单元格类型,只统计文本内容(排除数字、布尔值等),用这个公式:
=SUMPRODUCT(--(ISTEXT(TOCOL({H2:H5,H7,H9},1))))
- 公式说明:
ISTEXT():判断每个单元格是否为文本类型,返回TRUE或FALSE。--:将布尔值转换为1(TRUE)或0(FALSE)。SUMPRODUCT():对转换后的数值求和,得到文本单元格的总数。
适用旧版Excel(不支持动态数组)
如果你的Excel版本不支持TOCOL函数,需要把区域拆分为单个单元格引用,用以下公式:
=SUMPRODUCT(--(NOT(ISBLANK(INDIRECT({"H8","H4","H9"})))))
针对H2:H5+H7+H9的场景,需手动拆分区域为单个单元格:
=SUMPRODUCT(--(NOT(ISBLANK(INDIRECT({"H2","H3","H4","H5","H7","H9"})))))
- 注意:这种方式灵活性较差,优先推荐使用支持动态数组的Excel版本公式。
内容的提问来源于stack exchange,提问作者ihavequestions
相关产品推荐
相关产品推荐

