【问题标题】:Excel: find value in column, then search for date value in that row, return value to the leftExcel:在列中查找值,然后在该行中搜索日期值,将值返回到左侧
【发布时间】:2018-06-24 22:24:33
【问题描述】:

我正在寻找一个公式(或代码),它在列中找到一个值,然后在日期之间的该行中找到该值,当多个日期返回最大值时,然后将值返回到左侧。我不能使用辅助列。我尝试了几个嵌套索引/匹配公式,但没有成功......

以下示例:

参数一:在A列中查找Fork

参数 2:在该行 (4) 中,查找介于 2018 年 1 月 1 日和 18 年 1 月 5 日之间的日期

参数3:当在该日期范围内找到多个日期时,返回最大值

参数4:返回该日期左侧列的值

结果:黑色在 D 列中。

    A       B       C           D       E           F             G
1   ID      Colour 1Date 1      Colour 2Date 2      Colour 3      Date 3
2   Plate   Green   1-Jan-18    Red     23-Jan-18   L blue        14-Feb-18
3   Bowl    Blue    6-Jan-18    Brown   28-Jan-18   Yellow/Green  19-Feb-18
4   Fork    Yellow  2-Jan-18    Black   4-Jan-18    Turquoise     24-Feb-18
5   Knive   Purple  16-Jan-18   White   7-Feb-18    Maroon        1-Mar-18
6   Spoon   Pink    21-Jan-18   Orange  12-Feb-18   L pink        6-Mar-18

我希望这是可能的!非常感谢。

【问题讨论】:

    标签: excel excel-formula excel-2010


    【解决方案1】:

    试试这个

    在哪里
    I10 = 要搜索的 ID
    I11 = 最短日期(2018 年 1 月 1 日)
    I12 = 最长日期(2018 年 1 月 5 日)

    J10==MATCH($I$10,$A$1:$A$6,0)如果ID得到行号

    =INDEX(INDEX($A$1:$G$6,$J$10,),
           MATCH(
                 MAXIFS(INDEX($A$1:$G$6,$J$10,),
                        INDEX($A$1:$G$6,$J$10,),">="&$I$11,
                        INDEX($A$1:$G$6,$J$10,),"<="&$I$12
                       ),
                 INDEX($A$1:$G$6,$J$10,),0
                 ) - 1
          )
    


    INDEX($A$1:$G$6,$J$10,)获取 ID 的数据行(在公式中重复多次)
    MAXIFS(...) 获取满足 &gt;=&lt;= 条件的最大日期
    MATCH(MAXIF(...), [ID data row],0)获取MAXIF返回的日期的列号
    INDEX( [ID data row], MATCH(MAXIF(...), [ID data row],0) - 1)返回颜色


    没有MAXIFS的替代公式

    =INDEX(INDEX($A$1:$G$6,$J$10,),
                MATCH(
                      MAX(IFERROR(({0,0,1,0,1,0,1})*(INDEX($A$1:$G$6,$J$10,)>=$I$11)*(INDEX($A$1:$G$6,$J$10,)<=$I$12)*(INDEX($A$1:$G$6,$J$10,)),0)),
                INDEX($A$1:$G$6,$J$10,),0
                ) - 1
          )
    

    作为数组公式输入(使用 CtrlShiftEnter 而不仅仅是 Enter

    【讨论】:

    • 非常感谢!!但是,我使用的是 Excel 2013 而不是 2016,因此遗憾的是 MAXIFS 不是我拥有的功能(还)。由于我的 Excel 是服务器驱动的,我目前无法升级它。
    • @Inge 您“接受”或通过点赞并单击箭头符号表示感谢 - 找到答案的左上角...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多