如何从Excel中的一列中获取最大日期并与另一列匹配?

如何从Excel中的一列中获取最大日期并与另一列匹配?,excel,max,Excel,Max,我有如下excel表格数据 CustomerNo LoginDate 101 25/05/2012 101 10/05/2012 101 20/05/2012 101 10/04/2012 102 21/05/2012 102 12/04/2012 103 20/05/2012 104 08/04/2012 我想得到最后登录日期匹配的客户号码和结果如下 101 25/05/201

我有如下excel表格数据

CustomerNo LoginDate
101        25/05/2012
101        10/05/2012
101        20/05/2012
101        10/04/2012
102        21/05/2012
102        12/04/2012
103        20/05/2012
104        08/04/2012
我想得到最后登录日期匹配的客户号码和结果如下

101   25/05/2012
102   21/05/2012
103   20/05/2012
104   08/04/2012

您可以使用DMAX函数来执行此操作

首先,我将CustomerNo放在A1中,将2012年4月8日放在B9中。然后我将该范围命名为“theTable”

其次,我添加了A11和B11我的标准,“CustomerNo”和“LoginDate”

然后在A12,我放置101

最后,我准备好使用DMAX函数了

在B12中,我将
=DMAX(表格“LoginDate”,A11:A12)


Excel将把2012年5月25日放在B12中。

您可以尝试使用透视表。这具有一次获取所有客户编号最大值的良好能力,并且可以在任何数据更改时快速更新

  • 选择格式良好的表格
  • 插入|透视表
  • CustomerNo
    拖动到
    行标签
  • LoginDate
    拖动到
    值中
  • 值字段设置
    (例如,右键单击数据透视表中的任何值)更改为
    汇总依据
    Max
  • 有两种方法:

  • 使用数组功能(按Ctrl+Shift+Enter):
  • =MAX(如果($A$2:$A$9=C2,$B$2:$B$9))

  • 常规公式:
  • =MAX(索引($A$2:$A$9=C2)*($B$2:$B$9),,1))


    我个人更喜欢第二种方式,因为阵列功能会降低PC机处理海量数据的性能。不管怎样,希望这有帮助。

    你试过什么吗?发布您的代码,这样我们就可以帮助您并更好地解释您的问题。谢谢Aamer,但只需要使用excel公式。所以我不能使用任何.net代码我的坏,我在excel公式太差了!对不起,拉维,我帮不了你^_^你想用哪种语言来实现这一点。Romil我不想用任何代码语言。我只需要在excel工作表中找到每个客户的最后登录日期。谢谢,我用简单的方法找到了。1) 首先,我在数据菜单中使用高级过滤器
    数据-->Advanced
    ,以获得客户编号的不同记录,并将其放在新列中。2) 根据新列值,应用公式
    =MAX($A$2:$A$9=$C2)*$B$2:$B$9)
    并按Ctrl+Shift+Enter@Ravi:你这个天才,你应该把这个作为答案寄出去!谢谢你刚刚解决了我的问题