从date落在一个范围内的主工作表中抽取一个值
自上午以来,我一直在努力解决这个问题。 如果你能给我一个提示,我将不胜感激。
我有一个包含不同date的价格数据范围的主表:
根据今天的date(10/20),我应该参考适当的date栏(J&K)或(V&W),提取20'和40'的有效date和价格比率,并将其分配到我的最终表格中:
什么是最好的方法来做到这一点?
这有点棘手,但它是可行的。 (在Access而不是Excel中执行会更容易。)
我的'提示'将分解成更小的问题:将date范围分成两列,然后找出如何在多个date范围列中查找date 。 这和这应该让你开始。
这里有一个你可以尝试的数组公式:
=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 + Enter 。
我已经使用下面的范围名称来使公式更具可读性:
╔════════════╦════════════════════╗ ║ 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 ║ ╚════════════╩════════════════════╝
我已经做了一个截图,以帮助您了解我使用的范围名称:
您可以修改名称以适应您的偏好,并根据您的数据更改范围。
注意:
-
ff
和dates
的大小应该等于inches
范围。 这三个由MATCH函数使用,该函数返回外部INDEX函数中的column_num
值。 -
同样,
data_array
,pod
和pol
的垂直大小应该是相同的。
input公式后的最后一张:
我已经突出显示了该工作表的相关结果,以显示该公式的工作原理。
稍后我会补充一点解释。