假设有两个值列表,您要检查单元格B3是否包含范围E3:E5中的一个值,但是同时,它不包含范围F3:F4中的任何值,如下所示。 本教程将提供一个公式,以在Excel中快速处理此任务并解释该公式的参数。通用公式:
参数
返回值: 该公式返回1或0。当单元格包含需要包含的值之一,并且不包含任何需要排除的值时,它返回1或返回0。此公式1和0的处理方式类似于逻辑值真假。 这个公式如何运作 假设您要检查单元格B3是否包含范围E3:E5中的值之一,但同时排除范围F3:F4中的值,请使用以下公式
输入 键以获取检查结果。 说明 部分1: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) 检查单元格是否包含E3:E5中的值 搜索 函数:SEARCH函数返回文本字符串中另一个字符的第一个字符的位置,如果SEARCH函数找到匹配的文本,则返回相对位置,否则返回#VALUE! 错误。 例如,这里的公式 SEARCH($E$3:$E$5,B3) 将在单元格B3中搜索范围E5:E3的每个值,并返回每个文本字符串在单元格B3中的位置。 它将返回一个数组结果,如下所示: {1; 7; 12}. ISNUMBER函数:当单元格为数字时,ISNUMBER函数返回TRUE。 所以 ISNUMBER(SEARCH($E$3:$E$5,B3)) 当SEARCH函数找到3个数字时,将返回数组结果为{true,true,true}。 --ISNUMBER(SEARCH($E$3:$E$5,B3)) 将TRUE值转换为1,并将FALSE值转换为0,因此此公式将数组结果更改为 {1; 1; 1}. SUMPRODUCT 函数:用于将范围或数组的总和加倍,并返回乘积之和。 的 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 返回1 + 1 + 1 = 3。 最后比较左公式 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 和0,只要左公式的结果大于0,结果将为TRUE,否则将返回FALSE。 在这里,它返回TRUE。 部分2: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) 检查单元格是否不包含F3:F4中的值 其计算公式 搜索($ F $ 3:$ F $ 4,B3) 将在单元格B3中搜索范围E5:E3中的每个值,并返回每个文本字符串在单元格B3中的位置。 它将返回一个数组结果,如下所示: {#VALUE!;#VALUE!}. ISNUMBER(SEARCH($F$3:$F$4,B3)) 将返回数组结果为 {false; false} 因为搜索功能找到0号。 --ISNUMBER(SEARCH($F$3:$F$4,B3)) 将TRUE值转换为1,并将FALSE值转换为0,因此此公式将数组结果更改为 {0; 0}. SUMPRODUCT 函数:用于将范围或数组的总和加倍,并返回乘积之和。 的 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 返回0 + 0 = 0。 最后比较左公式 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 和0,只要左公式的结果等于0,结果将返回TRUE,否则将返回FALSE。 在这里,它返回TRUE。 第3部分:多个两个公式 =(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) =TRUE*TRUE =1 像逻辑值TRUE和FALSE一样处理该公式1和0。 |
|