Excel - IF 语句用于确定两个单元格是否包含相同的关键字

Excel - IF 语句用于确定两个单元格是否包含相同的关键字

我需要比较两列中的文本,以确定每列中是否出现相同的关键字。
例如

  • L 列可以Operational A, Operational B, Operational C, Community 1, Other, Standard
  • 而第 N 列中的文本可以是xxxx Operational, xxxx Community, xx Standard xx
    等等(xxx 是其他词)。

因此我想弄清楚如何比较 L10 和 N10(例如),如果两者都包含单词“operational”,或者都包含“community”,或者都包含“standard”,则返回“OK”,如果不包含则返回“Change”。

谢谢

答案1

假设我读得正确,那么这应该可行:
=IF(OR(AND(ISNUMBER(SEARCH("Operational",L2)),(ISNUMBER(SEARCH("Operational",N2)))),AND(ISNUMBER(SEARCH("Community",L2)),(ISNUMBER(SEARCH("Community",N2)))),AND(ISNUMBER(SEARCH("Standard",L2)),(ISNUMBER(SEARCH("Standard",N2))))),"OK","Change")
只需将 L2/N2 更改为您需要的行引用。

答案2

另一个选项用于SUMPRODUCT根据 L 和 N 检查列表,并仅计算单词与两者匹配的情况。

=IF(SUMPRODUCT(IFERROR(FIND({"Operational","Community","Standard"},L1)*FIND({"Operational","Community","Standard"},N1),0))>0,"OK","Change")

该方法的工作原理是查找 L1 中的每个关键字并构建匹配字符索引的数组。如果未找到匹配项,则将错误值存储在数组中。因此,如果 L1 包含Operational AFIND({"Operational","Community","Standard"},L1)则返回数组,{1,#VALUE!,#VALUE!}因为在 L1 中的第一个字符索引处找到了“Operational”,未找到“Community”,也未找到“Standard”。对 N1 重复此搜索,并将得到的数组成对相乘。例如,如果 N1 为xxxx Operational,则结果为数组{1,#VALUE!,#VALUE!}*{6,#VALUE!,#VALUE!},它等于{6,#VALUE!,#VALUE!}。如果总和为零,则在两者中均未找到关键字。

IFERROR将数组中的错误转换为0,并对SUMPRODUCT结果数组求和。如果总和大于 0,这是因为在 L1 和 N1 中都发现了一个关键字。

相关内容