2017-02-22 70 views
1

我有一個時間序列數據電子表格,其中包含一系列標記發生特定事件的列。如何測試一個Excel數組中的元素存在於另一個

像這樣:

 A   B  C  D 
1 Date  Event1 Event2 Event3 
2 24/10/2016 T  NULL NULL 
3 31/10/2016 S  NULL NULL 
4 06/10/2016 NULL NULL NULL 
5 20/10/2016 V  NULL NULL 
6 20/10/2016 T  S  V 
7 01/12/2016 T  NULL NULL 
8 01/12/2016 S  T  NULL 
9 29/11/2016 NULL NULL NULL 
10 10/10/2016 T  NULL NULL 

我再有一個查找表事件的列:

A 
1 T 
2 S 
3 V 

我希望做的是創造了一個新的列如果在查找中至少有一個,但可能更多的事件發生,則標記單個值(例如1)的時間序列。

這樣做的有效方法是什麼?

UPDATE:

的問題比較複雜,有可能是沒有出現在我的查找列表,對此我不想觸發標誌非NULL事件類型。

舉例來說,如果我有:

9 29/11/2016 G  NULL NULL 

我會想標誌0,但是

10 10/10/2016 G  T  NULL 

我會想標記1.

+0

時間序列數據是否包含不在查找表中的事件?如果發生任何事件,你的期望輸出是1,如果沒有事件發生,你的期望輸出是0? –

+0

我已經更新了這個問題,澄清了可能存在非NULL事件類型的問題,我不想觸發該標誌。如果查找過程中發生任何事件,則所需輸出爲1;如果沒有,則輸出0。此外,如果事件未列出,我不希望它觸發。 – elksie5000

回答

1

我的理解是,它是足夠檢查Event1列是否具有查找表中的其中一個值。

爲了簡單起見,我將暗示兩張表都在不同的工作表中。因此,所有你需要做的就是在第一張表中新創建的列上應用VLOOKUP公式(讓我們簡單地稱之爲「標誌」)。

的第一個單元格(E2)的公式應該是:

=VLOOKUP(B2, Sheet2!A:A, 1, false) 

只要將相同的公式行或其餘雙擊該單元格的右下角,你應該很好去。

這也會告訴你該日期的第一個事件是什麼。如果只需要一個位值(1/0),則可以將公式包含在一個簡單的IF中。

希望這會有所幫助!

編輯:

後的新信息,解決方案並沒有太大變化:

=IF(IsNA(VLOOKUP(B2, Sheet2!A:A, 1, false)), 0, 1) + IF(IsNA(VLOOKUP(C2, Sheet2!A:A, 1, false)), 0, 1) + IF(IsNA(VLOOKUP(D2, Sheet2!A:A, 1, false)), 0, 1) 

這甚至會告訴你,每行有多少價值了。

+0

我顯然沒有完全說明問題。在時間序列中有時會出現非空的事件,但我不想觸發該標誌。有時,Event1中可能有一個我不想標記的事件,但Event2插槽中有一個事件。那有意義嗎? – elksie5000

+0

它確實,是的 - 我在想一個解決方案 –

+1

編輯,應該工作。 –

相關問題