Excel中的逻辑运算符If循环
所以这个工作:
=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”。
我build议你在某个表格的某个栏目中创build一个国家/地区名称列表,并将其用作查找您需要的地方。 你可以用这个数据创build一个单独的表格,比如数据表。
假设你有一个A1:A25数据表的国家列表,你可以这样做:
=IF(COUNTIF(datasheet!A1:datasheet!A25, D2) <> 0, D2, "Other")
另外,如果我期望他们将来会改变的话,我会为这组国名创build一个命名范围 。 这样我的公式将引用名称,如果我添加国家,我不必更改公式。
你可以使用这样的东西:
=IF(ISERROR(VLOOKUP(D2,{"MEXICO","TURKEY"},1,0)),"Others",D2)
另外,@ barryhoudinibuild议,在Excel 2007或更高版本中,您可以使用:
=IFERROR(VLOOKUP(D2,{"MEXICO","TURKEY"},1,0),"Others")
有可能使用OR
但是您需要稍微改变语法 – 就像这样
=IF(OR(D2={"MEXICO","TURKEY","CHINA","BRAZIL","INDIA","INDONESIA","POLAND","COLOMBIA","ARGENTINA","PHILIPPINES"}),D2,"Others")
或者,这应该为你工作:
=IF(ISNA(MATCH(D2, {"MEXICO","TURKEY","CHINA","BRAZIL","INDIA","INDONESIA","POLAND","COLOMBIA","ARGENTINA","PHILIPPINES"}, 0)), "Others", D2)