2012-06-12 27 views
-1

所以我有這個電子表格。日期正在被記錄在個人方面,其他數據如下:電子表格功能中的最後匹配日期

Tom | xyz | 2012/5/2
Dick | foo | 2012/5/2
Tom | bar | 6/1/2012

在另一片存在其中我希望能夠把在名稱,如「湯姆」,並檢索在以下細胞通過公式的數據的線第一張表中的最後(最近的日期)條目。所以第一張是日誌,第二張是最近的一張。在下面的示例中,輸入第一個單元格,其餘部分顯示第一個表格中的數據的公式:

Tom | bar | 2012年6月1日

等等,顯示日誌中最新的日期條目。

我很難過,有什麼想法嗎? :)

回答

0

如果你只需要做一個查詢,你可以通過在你的記錄表增加了兩個新列:

工作表Sheet1

| A | B | C  | D | E | F 
1 | Tom | xyz | 6/2/2012 | | * | * 
2 | Dick | foo | 5/2/2012 | | * | * 
3 | Tom | bar | 6/1/2012 | | * | * 

Sheet2中

| A | B   | C 
1 | Tom | =Sheet1.E1 | =Sheet1.F1 

*(E1)= =IF(AND($A1=Sheet2.$A$1;E2=0);B1;E2)

(即將上述公式粘貼在E1,然後將其複製/粘貼到其他單元中*

說明:如果A不是您要查找的內容,請繼續閱讀;如果是,但下一個非空,則繼續下一個;否則,得到它。這樣您就可以選擇與您的搜索相對應的最後一個。我假設你想要最後的條目,而不是「最近的日期條目」,因爲這就是你在示例中所要求的。如果我把你的問題解釋錯了,請更新它,我可以嘗試提供一個更好的答案。

更新:如果日誌日期能進能出的順序,這裏是你如何獲得的最後一個條目:

*(F1)= =IF(AND($A1=Sheet2.$A$1;C1>=F2);C1;F2)

*(E1)= =IF(C1=F1;B1;E2)

在這裏,我剛剛替換了F2=0(如果非空,請選擇next)C1>=F2(如果更新,請選擇next),對於另一列,如果第一次測試也選擇next。

聲明:我對電子表格很不熟悉,上面的解決方案很難看,但完成了工作。例如,如果您希望Sheet2中的第二行進行另一次查找,則需要爲Sheet1等添加兩列。

+0

這是我期望獲得的最新日期。而且條目數量會隨着時間的推移而不斷增加,並且我只想抓取最接近當前日期的最新日期。 – Joshua

+0

您的示例顯示了'Tom | bar | 6/1/2012',這不是最後的日期。所以請澄清:隨着新條目被添加到日誌中,它們會始終出現在最後(即它們是否是「自然排序」)? – mgibsonbr

+0

答覆已更新。如果我不清楚,這個想法是重複forumla(複製/粘貼,它更新索引)每增加一個新條目(現在或將來)。順便說一句,額外的列不需要放在Sheet1中,如果需要的話,它們可以完美地放在Sheet2中(或其他地方)。但AFAIK你總是需要「預先分配」論壇,沒有通用的解決方案,在添加新行時自動擴展(即使你使用間隔時間,你必須指定結束時間)。但我可能會誤解(請參閱我的免責聲明)。 – mgibsonbr