2013-09-01 109 views
3

我有一個表(xTable,3列:Name,Start,Stop)。在另一張紙上,我有一個日曆,我正在嘗試製作。 A1行是日期。 A1欄是名字。Excel公式比較兩個數組

我想比較我的xTable中的開始日期到我A1行中的日期。如果找到日期,請查看xTable的第一列,如果它等於A1 colum中的人員姓名,則返回true,否則返回false。

喜歡的東西:=INDEX($B$2:$AF$14,ROW(A2)-1,MATCH($B$16,$B$1:$AF$1,0))="x"

但對我的生活,我不能讓它的工作......我想也許是因爲我有大約400行數據,但我不是很確定。任何幫助表示讚賞!此外,如果您知道vba解決方案,我總是可以使用它..但我更喜歡嘗試將它保留在公式中。但乞丐不應該挑剔;)

 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |etc---> 
Name1|____|____|____|____|____|____|____|____|____|____|____|____| 
Name2|____|____|____|____|____|____|____|____|____|____|____|____| 
Name3|____|____|____|____|____|____|____|____|____|____|____|____| 
Name4|____|____|____|____|____|____|____|____|____|____|____|____| 
Name5|____|____|____|____|____|____|____|____|____|____|____|____| 
Name6|____|____|____|____|____|____|____|____|____|____|____|____| 
Name7|____|____|____|____|____|____|____|____|____|____|____|____| 
Name8|____|____|____|____|____|____|____|____|____|____|____|____| 
Name9|____|____|____|____|____|____|____|____|____|____|____|____| 


Name |Start|Stop | 
Name1| 3 | 6 | 
Name1| 1 | 12 | 
Name7| 10 | 10 | 
Name3| 21 | 30 | 
Name1| 9 | 12 | 
Name9| 7 | 15 | 
Name9| 1 | 3 | 

回答

1

如果我理解正確的,你想找到的時候來用xTable的開始日期的日曆TRUEFALSE否則?

你可以用這個公式在單元格B2並填寫向右和向下:

=IF(COUNTIFS($A$13:$A$19,$A2,$B$13:$B$19,B$1*1)=0,FALSE,TRUE) 
我使用 B$1*1

,以防萬一你有存儲在A1行號的日期。否則,如果它們作爲日期存儲,但格式爲dd(或等效),請改爲使用DAY(B$1)

該公式將使用COUNTIFS來統計具有相應名稱和表xTable開始日期的行的出現次數。如果沒有找到,它將返回0,這將產生FALSE

+1

嘿傑瑞,非常愛和讚賞!表格和行都使用真正的日期,所以我把DAY()拿出來,它像冠軍一樣工作。現在我將着手添加結束日期,以便填充開始日期和結束日期之間的點。再次......真的很感謝你分享你的知識。我在大約4個18個小時的時間裏將我的頭撞在牆上。 –

+0

@DavidMassey結合兩者祝你好運! :) – Jerry