Excel多工作表重复值所属工作表查询,求简洁公式实现方案
方案1:Excel 365/2021及以上版本(最简实现)
提前把需要检索的9个工作表名称列在global_data表的空白区域,比如AA1:AA9单元格依次输入RDFR、RDIT、RDSE等所有待匹配表名,直接使用以下公式:
=TEXTJOIN("、",TRUE,FILTER(AA1:AA9,COUNTIF(INDIRECT(AA1:AA9&"!$T$5:$T$10"),T8),"无匹配")
- 逻辑说明:
INDIRECT批量拼接每个工作表的检索区域,COUNTIF判断当前T8单元格的值是否在对应工作表的T5:T10区间存在,FILTER筛选出存在匹配的工作表名,最后用TEXTJOIN把所有匹配的表名用分隔符拼接,无匹配时返回指定文本,不会出现FALSE异常值。 - 后续新增待匹配工作表时,仅需要更新AA列的表名列表即可,无需修改公式主体。
方案2:Excel 2019及更早版本(无动态数组函数适配)
还是先在AA1:AA9列好9个待匹配工作表名,在AB1单元格输入以下公式后下拉填充到AB9:=IF(COUNTIF(INDIRECT(AA1&"!$T$5:$T$10"),T$8),AA1&"、","")
最后在需要输出结果的单元格输入:
=SUBSTITUTE(TRIM(CONCAT(AB1:AB9)),"、","",LEN(CONCAT(AB1:AB9))-LEN(SUBSTITUTE(CONCAT(AB1:AB9),"、","")))
该公式会自动去掉末尾多余的分隔符,无匹配时返回空值,完全避免FALSE的问题。
原公式异常原因
你之前的嵌套IF未明确指定判断不成立时的返回值,当外层IF判断RDFR表无匹配时,会直接返回IF函数默认的FALSE值,不会执行后续判断逻辑,才会出现异常结果。
内容的提问来源于stack exchange,提问作者KMH1
相关产品推荐
相关产品推荐

