如何用Excel统计指定区域中含=TEXT公式的单元格数量?
统计Excel中包含=TEXT的公式单元格数量
你说得对,COUNTIF仅针对单元格的显示值进行计算,无法识别单元格内的公式内容,所以直接用=COUNTIF(1:1, "=TEXT")不会得到正确结果。以下是两种可行的解决方案:
方法1:使用SUMPRODUCT组合函数
直接在目标单元格输入以下公式即可完成统计(以第一行为例):
=SUMPRODUCT(--(ISNUMBER(SEARCH("=TEXT", FORMULATEXT(1:1)))))
各部分作用:
FORMULATEXT(1:1):提取第一行每个单元格的公式文本,非公式单元格会返回#N/A错误SEARCH("=TEXT", ...):在提取的公式文本中查找"=TEXT"字符串,找到返回位置数值,未找到或单元格非公式则返回错误ISNUMBER(...):将查找结果转换为布尔值(找到为TRUE,否则为FALSE)--:把布尔值转换为1(TRUE)或0(FALSE)SUMPRODUCT:对所有转换后的数值求和,得到符合条件的单元格总数
方法2:借助辅助列+COUNTIF
如果觉得数组公式不好理解,可以用更直观的辅助列方式:
- 插入一个空白辅助列(比如B列),在B1单元格输入
=FORMULATEXT(A1),然后下拉填充到需要统计的行 - 在任意空白单元格输入
=COUNTIF(B:B, "*=TEXT*")
这里的通配符*用于匹配"=TEXT"前后的任意字符,从而统计所有包含该字符串的公式文本
注意事项
FORMULATEXT函数仅支持Excel 2013及以后版本;如果使用更早版本,需要通过VBA自定义函数来提取公式文本- 非公式单元格的
FORMULATEXT结果会显示#N/A,但不会影响最终统计结果
内容的提问来源于stack exchange,提问作者Josh Silveous
相关产品推荐
相关产品推荐

