从主工作表中提取日期落在范围内的值

时间:2017-10-20 20:30:20

标签: excel excel-formula extraction lookup-tables

我从早上起就在努力解决这个问题。如果你能给我一个提示,我将不胜感激。

我有一张包含不同日期的价格数据范围的主表: enter image description here

根据今天的日期(10/20),我应该参考适当的日期时段(J& K)或(V& W),提取有效的日期和&价格为20'和20 40'并将它们分配到我的最后一页:

最好的方法是什么?

enter image description here

2 个答案:

答案 0 :(得分:1)

这有点棘手,但它可以做到。 (在Access而不是Excel中更容易做到。)

我的“提示”是将此问题分解为更小的问题:将日期范围分成2列,然后找出如何lookup a date in multiple date range columnsThisthis可以帮助您入门。

答案 1 :(得分:1)

这是您可以尝试的数组公式:

=INDEX(
    data_array,
    MATCH($C3&$F3,pol&pod,0),
    MATCH(
        I$2&$E3&1,
        inches&OFFSET(ff,0,-(I$2="40'"))
            &(IFERROR(TODAY()>=DATEVALUE(LEFT(OFFSET(dates,0,-(I$2="40'")),FIND(" - ",OFFSET(dates,0,-(I$2="40'")))-1)),FALSE)
                *IFERROR(TODAY()<=DATEVALUE(RIGHT(OFFSET(dates,0,-(I$2="40'")),LEN(OFFSET(dates,0,-(I$2="40'")))-FIND(" - ",OFFSET(dates,0,-(I$2="40'")))-2)),FALSE)
            ),
        0
    )
)

注意:将此公式粘贴到单元格I3(根据屏幕截图显示数据的位置)并按 Ctrl + Shift + 输入

我使用了以下范围名称来使公式更具可读性:

╔════════════╦════════════════════╗
║    Name    ║       Range        ║
╠════════════╬════════════════════╣
║ data_array ║ =Master!$G$6:$T$10 ║
║ dates      ║ =Master!$H$2:$U$2  ║
║ ff         ║ =Master!$G$1:$T$1  ║
║ inches     ║ =Master!$G$5:$T$5  ║
║ pod        ║ =Master!$B$6:$B$10 ║
║ pol        ║ =Master!$A$6:$A$10 ║
╚════════════╩════════════════════╝

我已截取屏幕截图,以帮助您了解我使用的范围名称:

Range Names

您可以修改名称以符合您的偏好,并根据您的数据更改范围。

注意:

  • ffdates的大小应等于inches范围。这三个由MATCH函数使用,该函数返回外部INDEX函数中的column_num值。

  • 同样,data_arraypodpol的垂直尺寸应相同。

输入公式后,这里是最终表格:

Final sheet after entering the formula

我已经突出显示了主表单中的相关结果,以表明该公式有效。

我稍后会在有空的时候添加解释。