我有一张包含以下(查找)列的工作表
ABC
DEF
HIJ
我有另一张包含数据的工作表
ABC123
QWE762
HIJ234
我想查看第二张表的前 3 个字符,如果它与第一张表(同一个 Excel 文件)中的任何单元格匹配,则输出“Y”,否则,输出“N”。
所以我的输出应该是
ABC123 Y
QWE762 N
HIJ234 Y
我有
=IF(MATCH(LEFT(B2,3),A2:A4,0),"Y",N")
B2
第一个工作表中的单元格ABC123
和A2:A4
列在哪里。我一直收到错误#N/A
(值不可用)。这是为什么?
答案1
MATCH
如果没有匹配,该函数返回 #NA。IF
测试真或假,但返回 #NA MATCH
,因此假条件“N”永远不会发生。
用于IFNA
测试 #NA 结果。假设Sheet1
有查找列,第二张表 C2 中的此公式测试函数的结果IF
。IF
返回“Y”或 #NA,因此IFNA
返回“Y”或“N”。
=IFNA(IF(MATCH(LEFT(B2,3),Sheet1!$A2:$A4,0),"Y"),"N")
答案2
N/A 错误表示没有完全匹配。请仔细检查您的数据。
数据类型也很重要。一个工作表中可能包含数字,而另一个工作表中则以文本形式存储数字。如果查找范围包含数字,则需要将 Left() 语句的文本输出转换为数字,例如
=IF(MATCH(LEFT(B2,3)+0,A2:A4,0),"Y",N")