2012-08-28 39 views
1

我有兩個Excel電子表格:條件VLOOKUP

一個有一個ID和一個日期 另一種有一個id,兩個日期和

我應該匹配的ID和返回值的值每當在電子表格1的時間是在電子表格中的兩個日期之間2.

有那些電子表格之間的一對一的對應關係,並默認設置爲0值,如果沒有發現匹配

第一spreasheet有很多o f行。會有某種VLOOKUP函數可以用來獲取正確的數據嗎?

回答

2

有一個非常簡單的方法來實現這一目標:串接你想搜索的多個字段,和你做,只要它們是獨一無二的。否則,你應該看看數組單元格。

2

SUMPRODUCT和數組公式是您需要的。

=SUMPRODUCT(--(Sheet2!$A$2:$A$2000=A2),--(Sheet2!$B$2:$B$2000<B2),--(Sheet2!$C$2:$C$2000>B2),--(Sheet2!$D$2:$D$2000)) 

這將必須輸入作爲數組式與CTRL + SHIFT + 輸入。如果您輸入正確,您將會看到excel與{}對應的公式。

假設:ID在A2進行檢查,日期要在B2的順序A ID,B開始日期,C結束日期檢查
方面的數據片2,和D值(數字)

的數組公式返回true/false列表,然後將它們相乘。只有當所有標準都是True是一個返回值(因爲任何False答案等於零,零*另一個數字爲零)。

這將給予不正確的答案,如果2米範圍重疊

+0

雖然這個問題應該有問題:這個ID不是唯一的,這意味着在電子表格2中,可以有多個ID(針對不同的日期集合,因此是一對一的對應關係)。在我看來,在這種情況下,VLOOPKUP將停止在第一個肯定的ID ... –

+0

如果身份證不是唯一的,那麼正確答案是什麼?它應該返回哪個值:第一個副本ID還是第二個副本ID?根據你對這個問題的回答:一種選擇是讓所有的ID都是唯一的。 - 例如使用如下公式:= IF(COUNTIF(A $ 1:A1,A1)> 1,A1&「 - 」&TEXT(COUNTIF(A $ 1:A1,A1),「#」),A1) - 那麼你會自動填充。 – Stepan1010

+0

或者如果他們實際上按行進行對應,那麼您可以自動填充1,2,3,4等,然後將其用作您的唯一ID。 – Stepan1010