2014-12-05 205 views
0

昨天我受到了1條標準查詢的挑戰,今天一個2條標準的查詢讓我同樣困惑,儘管昨天上課了。這裏是新的嵌套if-index-match公式:Excel如果索引匹配2條件

{=IFERROR(IF(INDEX($C:$C,MATCH(1,(B2=$AO$2:$AO$31)*("Good"=$AT$2:$AT$31),0))="PG",3,IF(INDEX($C:$C,ISNUMBER(MATCH(1,(B2=$AO$2:$AO$31)*("Bad"=$AT$2:$AT$31),0)))="PG",-5)),"NaN")} 

當輸入爲「良好」時,我得到的結果是「3」;當輸入是「Bad」時,我得到的結果是「NaN」。當輸入「Bad」時,我想要公式導致「-5」,但錯誤檢查在那裏有#N/A。我究竟做錯了什麼?

回答

0

你的公式太複雜,有太多的未知範圍,所以我不想調查在什麼情況下究竟應該發生什麼。但是,如果你比較「好」和「壞」(和醜陋?)的條件下,你可以看到一個差異:

IF(INDEX($C:$C,MATCH(1,(B2=$AO$2:$AO$31)*("Good"=$AT$2:$AT$31),0))="PG" 

IF(INDEX($C:$C,ISNUMBER(MATCH(1,(B2=$AO$2:$AO$31)*("Bad"=$AT$2:$AT$31),0)))="PG" 

我想有至少是你的問題的一個來源

+0

我發現了一個更好的方法來用_countif(s)_做到這一點,但期望的結果應該類似於AND連接,必須滿足每個條件。這是最新的:'= IF((COUNTIF($ AO $ 2:$ AO $ 31,B14)* COUNTIF($ AT $ 2:$ AT $ 31,「Good」)* COUNTIF(C14,「PG」)),3,IF ((COUNTIF($ AO $ 2:$ AO $ 31,B14)* COUNTIF($ AT $ 2:$ AT $ 31,「Bad」)* COUNTIF(C14,「PG」)), - 5))如果所有的範圍都是連續的,則更容易。 – gorganzola 2014-12-05 12:02:44