2016-11-15 85 views
1

我有一個大型數據集,其中包含一個ID,然後是子ID,然後是子ID的狀態。僅供參考;一個子ID可以有兩種狀態。我想要一個公式來查看列A並查找所有匹配的值,如果任何的狀態等於「x」,則返回一個定義的值。在一列中搜索所有匹配的值,並且如果相鄰列包含「X」,則返回「Y」

例子:

A  B  C 
1-001 0550 UD 
1-001 0550 DV 
1-001 0003 UD 
1-001 0001 UD 
1-001 1 
1-003 0550 UD 
1-003 0003 UD 
1-003 0001 UD 
1-003 1 
1-005 0550 UD 
1-005 0550 DV 
1-005 0027 UD 
1-005 0026 UD 
1-005 0024 UD 
1-005 0023 UD 
1-005 0017 UD 
1-005 0014 UD 
1-005 0012 UD 
1-005 0011 UD 
1-005 0003 UD 
1-005 0001 UD 
1-005 1 

我已經試過

=IFERROR(INDEX($A$2:$A$7390, SMALL(IF(ISNUMBER(SEARCH(A9,$A$2:$A$7697)),MATCH(ROW($A$2:$A$7697),ROW($A$2:$A$7697))),ROW(A8))),"") 

,但是這不是真的是我需要.....

+0

因此,如果狀態等於「x」(我猜測它實際上是UD或DV),則返回「定義值」。什麼是定義的值?它聽起來像[COUNTIFS函數](https://support.office.com/en-us/article/COUNTIFS-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842)是你在找什麼。 – tigeravatar

+0

@nbayly謝謝你的投入。我在最初的帖子中並不清楚。我編輯了這個例子,以顯示我希望達到的差異。這裏的最終目標是找到所有具有「DV」狀態的ID,如果沒有,我想讓D列讀取「HBP」,那麼我希望它是空白的。所以在這個例子中D1:D5會讀取HBP和D6:D9將是空白的。那有意義嗎? – Asher

回答

1

簡單Countifs會做的伎倆。在單元格D1中使用此公式並複製下來:

=IF(COUNTIFS(A:A,A1,C:C,"DV")>0,"HBP","") 
+0

這樣做!謝謝。 – Asher

0

你可以做到這一點使用數組公式和一個簡單的有條件的。式看起來像以下假設ID是在列A中,狀態上柱B和專門爲「1-005」尋找:

=OR(IF(A:A="1-005",C:C,"")="DV") 

這被輸入作爲陣列式壓制CTRL + SHIFT + ENTER。 if將每個單元格與搜索項進行比較,並在列C中輸出相應的狀態或以數組的形式輸出空字符串。然後,將該數組與該定義的值進行比較將輸出一個布爾值數組,我們將其加入一個OR中,如果至少有一個狀態等於該定義值,那麼該數組將返回TRUE。希望這是有道理的。乾杯。

相關問題