如果你只需要做一個查詢,你可以通過在你的記錄表增加了兩個新列:
工作表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等添加兩列。
這是我期望獲得的最新日期。而且條目數量會隨着時間的推移而不斷增加,並且我只想抓取最接近當前日期的最新日期。 – Joshua
您的示例顯示了'Tom | bar | 6/1/2012',這不是最後的日期。所以請澄清:隨着新條目被添加到日誌中,它們會始終出現在最後(即它們是否是「自然排序」)? – mgibsonbr
答覆已更新。如果我不清楚,這個想法是重複forumla(複製/粘貼,它更新索引)每增加一個新條目(現在或將來)。順便說一句,額外的列不需要放在Sheet1中,如果需要的話,它們可以完美地放在Sheet2中(或其他地方)。但AFAIK你總是需要「預先分配」論壇,沒有通用的解決方案,在添加新行時自動擴展(即使你使用間隔時間,你必須指定結束時間)。但我可能會誤解(請參閱我的免責聲明)。 – mgibsonbr