首页 > 解决方案 > Excel 多个条件检查,包括包含

问题描述

很难弄清楚如何将这些拼凑在一起,更不用说为这个问题提出一个描述性的标题了。

我在单元格中尝试做的伪代码是:

if ((A1 == 1 && B1.contains("abc")) || (A1 == 2 && B1.contains("def") || (A1 == 3 && B1.contains("ghi"))
then write("ok")
else write("not ok")

标签: excelexcel-formula

解决方案


你可以试试:

=IF(IFERROR(MATCH(A1,{1,2,3},0)=MATCH(TRUE,ISNUMBER(SEARCH({"abc","def","ghi"},B1)),0),FALSE),"OK","NOT OK")

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认,而不是 Enter。

如果您在 A 列中的值实际上是数字 1,2,3,... 那么您可以将公式简化为:

=IF(IFERROR(A1=MATCH(TRUE,ISNUMBER(SEARCH({"abc","def","ghi"},B1)),0),FALSE),"OK","NOT OK")

在此处输入图像描述


推荐阅读