Excel循环中的Excel逻辑运算符

时间:2014-01-02 14:58:36

标签: excel loops logical-operators

这样可行:

=IF(OR(D2="MEXICO",D2="TURKEY",D2="CHINA",D2="BRAZIL",D2="INDIA",D2="INDONESIA",D2="POLAND",D2="COLOMBIA",D2="ARGENTINA",D2="PHILIPPINES"),D2,"Others")

但这不是

=IF(D2=OR("MEXICO","TURKEY","CHINA","BRAZIL","INDIA","INDONESIA","POLAND","COLOMBIA","ARGENTINA","PHILIPPINES"),D2,"Others")

有没有办法绕过每次写入D2 =里面?我想看看标准是否可以在多个地方使用..比如在另一张表中我也有国名,但不在列“D”中。

4 个答案:

答案 0 :(得分:4)

您可以使用以下内容:

=IF(ISERROR(VLOOKUP(D2,{"MEXICO","TURKEY"},1,0)),"Others",D2)

另外,正如@barryhoudini建议的那样,在excel 2007或更高版本中你可以使用:

=IFERROR(VLOOKUP(D2,{"MEXICO","TURKEY"},1,0),"Others")

答案 1 :(得分:3)

我建议您在某个工作表的某列中创建一个国家/地区名称列表,然后将其用作查找您需要的地方。您可以使用此数据创建单独的工作表,例如数据表。

假设您在A1:A25数据表中有一个国家/地区列表,您可以执行以下操作:

    =IF(COUNTIF(datasheet!A1:datasheet!A25, D2) <> 0, D2, "Other")

此外,如果我希望将来更改,我会为国家/地区名称集创建named range。这样我的公式将引用名称,如果我添加国家,我不必更改公式。

答案 2 :(得分:3)

可以使用OR,但您需要稍微更改语法 - 比如

=IF(OR(D2={"MEXICO","TURKEY","CHINA","BRAZIL","INDIA","INDONESIA","POLAND","COLOMBIA","ARGENTINA","PHILIPPINES"}),D2,"Others")

答案 3 :(得分:2)

或者,这应该对你有用:

=IF(ISNA(MATCH(D2, {"MEXICO","TURKEY","CHINA","BRAZIL","INDIA","INDONESIA","POLAND","COLOMBIA","ARGENTINA","PHILIPPINES"}, 0)), "Others", D2)