2017-07-31 223 views
1

我认为我犯了一个错误,因为它不断返回#VALUE嵌套IF/AND语句

IF(AND(G2="green",G3="green"),"GG"), IF(AND(G2="red",G3="red"),"RR"), 
IF(AND(G2="red",G3="green"),"RG"), IF(AND(G2="green",G3="red"),"GR") 

我想说,如果它是红色的,它是绿色的,打印RG和其他如RR,GR,GG。

+1

为什么不'= upper(left(g2)&left(g3))'? – Jeeped

+1

您正在通过每个中间关闭IF语句 - 只要在每个',IF'之前移动'''到最后应该修复您的公式。 – pnuts

回答

1

尝试,因为,

=IF(SUM(COUNTIF(G2:G3,{"red","green"}))=2,UPPER(LEFT(G2)&LEFT(G3)), TEXT(,)) 
+0

在工作表上,如果没有提供长度参数,则'LEFT(,)'函数默认为单个字符;在VBA中,“Left()”的长度参数是必需的。 – Jeeped

+0

您首先发布的左上角版本非常简短,简洁优雅 - 您应该将其作为答案发布 - 获得我的投票。 –

+0

我不确定是否有其他选项。上面的内容包含了它的核心,同时保证了单元中有两个红色/绿色值。 OP应该能够弄清楚其中的两件事。 – Jeeped

2

IF()功能有三个参数:TestThen-valueOtherwise-value。所以函数应该看起来像这样:

=IF(AND(G2="green",G3="green"), 
    "GG",IF(AND(G2="red",G3="red"), 
      "RR",IF(AND(G2="red",G3="green"), 
        "RG",IF(AND(G2="green",G3="red"), 
          "GR")))) 
+0

非常感谢你:) – Aanya