Excel:根据列中的值获取最后日期

时间:2019-03-05 12:55:01

标签: excel excel-formula

我已经寻找了一段时间,对于如何正确执行此操作感到困惑。我需要获取最新的值。我有两列

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,而不是原始数据。 ...我该怎么做?

5 个答案:

答案 0 :(得分:1)

您可以创建一个数据透视表,其中“ user_id”在行中,“日期”在值中,然后转到值字段设置(通过在数据透视表字段窗口中单击“日期”)并将设置更改为“最大值”(而不是“计数”的默认设置)。这样,您将获得所有用户及其最大乘车日期的列表 :)

答案 1 :(得分:1)

数据如下:

enter image description here

第一步是将列 B 复制到列 C 中。然后使用Data标签中的RemoveDuplicates功能获取唯一的ID。然后在 D1 中输入数组公式:

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

并向下复制:

enter image description here

数组公式必须使用 Ctrl + Shift + Enter 输入,而不仅仅是 Enter 键。如果正确完成此操作,则公式将显示在公式栏中,并带有大括号。

答案 2 :(得分:0)

如果您的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"))

答案 3 :(得分:0)

如果您可以使用数据透视表,相信会更方便:

enter image description here

基本上,您需要选择数据,在所需的位置插入数据透视表,将“用户ID”放在“行”和“日期”下的“值”下。然后将值的汇总更改为“最大值”(右键单击数据透视表中或右侧面板中“值字段”设置中的值)并格式化为日期。

您将立即获得所有用户的列表以及他们各自的最新日期。

答案 4 :(得分:0)

谢谢,我最终使用以下命令

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