簡體   English   中英

Excel:根據列中的值獲取最后日期

[英]Excel: get last date based on value in column

我花了一段時間,對如何正確執行此操作感到困惑。 我需要獲取最新的值。 我有兩列

Dates   User Ids
01/01/2019  abc10
01/01/2019  rim344
01/01/2019  foo770
01/01/2019  hocpoc
01/01/2019  con587
01/01/2019  chk123

等等,這持續了數千行,總共有300百萬個不同的用戶ID。

現在,我想獲得最新日期的用戶abc10登錄。最好顯示唯一的一組用戶ID,而不是原始數據。 我該如何...?

您可以創建數據透視表,其中“ user_id”位於行中,“日期”位於值中,然后轉到值字段設置(通過在數據透視表字段窗口中單擊“日期”)並將設置更改為“最大” (而不是默認設置“ count”)。 這樣,您將獲得所有用戶及其最大乘車日期的列表:)

使用以下數據:

在此處輸入圖片說明

第一步是將B列復制到C列。 然后使用“ Data選項卡中的RemoveDuplicates功能來獲取唯一的ID。 然后在D1中輸入數組公式:

=MAX(IF(B:B=C1,A:A,""))

並向下復制:

在此處輸入圖片說明

必須使用Ctrl + Shift + Enter輸入 數組公式 ,而不僅僅是Enter鍵。 如果正確完成此操作,則公式將在公式欄中顯示為帶有大括號的公式。

如果您的Excel版本支持(Office 365 / Excel 2019),則可以使用MAXIFS

=MAXIFS($A$2:$A$301,$B$2:$B301,"abc10")

或者,您可以使用以下數組公式(使用Ctrl + Shift + Enter進行輸入):

=MAX($A$2:$A$301*--($B$2:$B$301="abc10"))

如果您可以使用數據透視表,相信會更加方便:

在此處輸入圖片說明

基本上,您需要選擇數據,將數據透視表插入所需的位置,將“用戶ID”放在“行和日期”下的“值”下。 然后將值的匯總更改為最大值(右鍵單擊數據透視表或右側面板中的值字段設置中的值),然后將其格式化為日期。

您將立即獲得所有用戶的列表及其各自的最新日期。

謝謝大家,我最終使用以下方法

=LOOKUP(2,1/(A2:A17040=E2),B2:B17040)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM