考虑一列的多个值的Excel逻辑测试

时间:2019-05-05 14:44:17

标签: excel excel-formula logic

我有这个文件,

ID Barcode
1  11
2  13
3  14
4  15
5  16

我想做一个逻辑函数来知道是否记录了条形码值,例如,我在另一个会议工作表中输入了值18,答案将是not found或我输入了该值11,答案将为found。 我尝试过:

IF(C1=B2:B6,"FOUND","NOT FOUND")

但是不起作用。在Excel中有可能吗?

3 个答案:

答案 0 :(得分:2)

因此,将iferror()与index()和match()一起使用。在单元格C1中输入您要查找的值,单元格C4返回未找到或ID号。

=IFERROR(INDEX($A$2:$A$6,MATCH(C1,$B$2:$B$6,0)),"Not Found")

请参见

enter image description here

答案 1 :(得分:2)

例如使用:

=IF(ISNUMBER(MATCH(D2,$B$2:$B$6,0)),"FOUND","NOT FOUND")

或者,如果条形码是唯一的:

=CHOOSE(COUNTIF($B$2:$B$6,D2)+1,"NOT FOUND","FOUND")

enter image description here

如果返回TRUEFALSE足以让您使用:

=COUNTIF($B$2:$B$6,D2)>0

如果您的目标是在找到条形码时检索ID,那么肯定要使用@ {SolarMike和他的建议INDEX()MATCH()

答案 2 :(得分:2)

您非常亲密。只是缺少了OR并将其作为数组公式输入。

您的逻辑测试正在返回比较数组:

C1: 14 ==>
{FALSE;FALSE;TRUE;FALSE;FALSE}

但是要确定返回的值 ANY 是否为TRUE,您需要使用OR函数:

OR(C1=$B$2:$B$6)

将它们放在一起,我们有 ARRAY 公式:

=IF(OR(C1=$B$2:$B$6),"Found","Not Found")

由于这是一个数组公式,因此您需要在按下 enter 的同时按住 ctrl + shift 来“确认”它。如果操作正确,Excel将按照公式栏中的说明在公式周围放置括号{...}

enter image description here