Mac版Excel 2022:判断数值是否存在于三个外部工作表
问题说明
- Excel版本:Mac 2022 v.16.66.1
- 需求:在「OA?」列添加函数,检查当前工作表D、E、G、H列的单元格值,是否存在于以下任意区域:
- ACS.xlsx的I、K、L列
- ELSEVIER.xlsx的B列
- SPRINGER.xlsx的C列
存在则写入"YES",否则写入"NO"
- 现有问题:自行编写的公式会错误匹配空单元格
现有公式
=IF(OR(ISNUMBER(MATCH(D3, '[ACS.xlsx]Journal Vitals'!$J:$J, 0)), ISNUMBER(MATCH(E3, '[ACS.xlsx]Journal Vitals'!$J:$J, 0)), ISNUMBER(MATCH(G3, '[ACS.xlsx]Journal Vitals'!$J:$J, 0)), ISNUMBER(MATCH(H3, '[ACS.xlsx]Journal Vitals'!$J:$J, 0)), ISNUMBER(MATCH(D3, '[ACS.xlsx]Journal Vitals'!$L:$L, 0)), ISNUMBER(MATCH(E3, '[ACS.xlsx]Journal Vitals'!$L:$L, 0)), ISNUMBER(MATCH(G3, '[ACS.xlsx]Journal Vitals'!$L:$L, 0)), ISNUMBER(MATCH(H3, '[ACS.xlsx]Journal Vitals'!$L:$L, 0)))), "YES", "NO")
解决方案
空单元格的MATCH会匹配目标区域内的空值,导致误判。以下是修正后的公式:
=IF(AND(D3="",E3="",G3="",H3=""),"NO",IF(OR( ISNUMBER(MATCH(D3,'[ACS.xlsx]Journal Vitals'!$I:$I,0)), ISNUMBER(MATCH(D3,'[ACS.xlsx]Journal Vitals'!$K:$K,0)), ISNUMBER(MATCH(D3,'[ACS.xlsx]Journal Vitals'!$L:$L,0)), ISNUMBER(MATCH(D3,'[ELSEVIER.xlsx]Sheet1'!$B:$B,0)), ISNUMBER(MATCH(D3,'[SPRINGER.xlsx]Sheet1'!$C:$C,0)), ISNUMBER(MATCH(E3,'[ACS.xlsx]Journal Vitals'!$I:$I,0)), ISNUMBER(MATCH(E3,'[ACS.xlsx]Journal Vitals'!$K:$K,0)), ISNUMBER(MATCH(E3,'[ACS.xlsx]Journal Vitals'!$L:$L,0)), ISNUMBER(MATCH(E3,'[ELSEVIER.xlsx]Sheet1'!$B:$B,0)), ISNUMBER(MATCH(E3,'[SPRINGER.xlsx]Sheet1'!$C:$C,0)), ISNUMBER(MATCH(G3,'[ACS.xlsx]Journal Vitals'!$I:$I,0)), ISNUMBER(MATCH(G3,'[ACS.xlsx]Journal Vitals'!$K:$K,0)), ISNUMBER(MATCH(G3,'[ACS.xlsx]Journal Vitals'!$L:$L,0)), ISNUMBER(MATCH(G3,'[ELSEVIER.xlsx]Sheet1'!$B:$B,0)), ISNUMBER(MATCH(G3,'[SPRINGER.xlsx]Sheet1'!$C:$C,0)), ISNUMBER(MATCH(H3,'[ACS.xlsx]Journal Vitals'!$I:$I,0)), ISNUMBER(MATCH(H3,'[ACS.xlsx]Journal Vitals'!$K:$K,0)), ISNUMBER(MATCH(H3,'[ACS.xlsx]Journal Vitals'!$L:$L,0)), ISNUMBER(MATCH(H3,'[ELSEVIER.xlsx]Sheet1'!$B:$B,0)), ISNUMBER(MATCH(H3,'[SPRINGER.xlsx]Sheet1'!$C:$C,0)) ),"YES","NO"))
修正要点
- 先判断D3、E3、G3、H3是否全为空,直接返回"NO",避免空值误匹配
- 补充了需求中ACS.xlsx的I、K列,以及ELSEVIER、SPRINGER的目标列
- 保留精确匹配模式(
MATCH第三参数为0),确保数值完全对应
注意事项
- 将公式中的
Sheet1替换为对应文件的实际工作表名称 - 使用时需确保目标文件处于打开状态,否则公式无法读取数据
内容的提问来源于stack exchange,提问作者farmaceut
相关产品推荐
相关产品推荐

