【问题标题】:Returning the most recent date when INDEX MATCH has multiple matches当 INDEX MATCH 有多个匹配项时返回最近的日期
【发布时间】:2014-06-09 14:42:43
【问题描述】:

我有一个索引匹配公式,它遍历一个列表并根据电子邮件地址返回一个日期。我的问题是,如果有多个条目与该电子邮件地址匹配怎么办?如何返回最近的日期?

例如工作表 1 包含所有数据

甲乙丙 电子邮件 ID 日期

工作表 2 包含我正在查找信息的特定电子邮件地址列表

甲乙 电子邮件日期

我在工作表 2 的 B 列中的公式是这样的:

index(worksheet1 C:C,match(worksheet2 A1, worksheet 1 A:A,false))

基本上说您在工作表 1 的 A 列中列出的 A1 中找到电子邮件地址的位置,在 B1 中返回工作表 1 中该行的列中的值。

问题是我们可以多次列出相同的电子邮件地址,所以我正在寻找要返回的最新日期,而不是它找到的第一个日期。

谢谢 西蒙

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    你可以试试DMAX函数
    =DMAX(Sheet1!A1:C5,3,A1:A2)

    工作表1:

    工作表2:

    Here's more on DMAX Function.
    但是,如果您要查找工作表 2 中的大量电子邮件,则需要另一种方法。

    如果是这样,你可以试试这个数组公式
    =MAX(IF(Sheet1!$A$1:A$5=A3,Sheet1!$C$1:$C$5))
    上面的公式是通过Ctrl+Shift+Enter在B2单元格输入的,如下图。

    结果:

    如您所见,它与 DMAX 的结果相同。
    但您可以复制粘贴或自动填充此公式到 B 中的后续单元格。

    【讨论】:

    • 我在工作表 2 中有数百封电子邮件要查找,在工作表 1 中有数千封电子邮件要查找
    • @user3720981 你可以看看我的编辑。 :D 顺便说一句,你应该在你的问题中提到这一点。
    • 抱歉,我没有意识到所涉及的数字会有所不同。根据一个经过手动验证的小样本,您的编辑已经成功了 :) 非常感谢!
    • @user3720981 总是这样。尤其是我们正在努力帮助您解决您要解决的具体问题。
    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    相关资源
    最近更新 更多