在 Excel 中查找字符串的一部分是否位于另一列中

在 Excel 中查找字符串的一部分是否位于另一列中

我有一张包含以下(查找)列的工作表

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第一个工作表中的单元格ABC123A2:A4列在哪里。我一直收到错误#N/A(值不可用)。这是为什么?

答案1

MATCH如果没有匹配,该函数返回 #NA。IF测试真或假,但返回 #NA MATCH,因此假条件“N”永远不会发生。

用于IFNA测试 #NA 结果。假设Sheet1有查找列,第二张表 C2 中的此公式测试函数的结果IFIF返回“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")

相关内容