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

问题描述:

从早上开始,我一直在努力解决这个问题。如果你能给我一个提示,我将不胜感激。从日期范围内的主工作表中提取值

我有包含用于不同日期时间的价格数据范围内的主片: enter image description here

基于今天日期(10/20)我应该是指相应的日期周期列(j & K)或(V & W),提取有效日期期间&价率为20' & 40' 并将它们分配给我的最后一个薄片:

什么是做到这一点的最好方法是什么?

enter image description here

+0

您可以将第2行中的日期更改为2个单独的单元格 - 一个用于开始日期,另一个用于结束日期?现在它的方式是一个文本字段,因此很难找出你的日期是否适合于2。 –

+0

这可能是工作表公式,但我建议你使用VBA解决方案。 –

+0

你刚才问过这个类似的问题吗(https://*.com/questions/46847655/extract-a-value-from-the-chart-filtered-by-criteria-in-excel#comment80648258_46847655)?如果您有更多信息,您可以专注于一个问题并编辑问题。 – ian0411

这有点一个棘手的,但它是做,能。 (这将是比较容易的方式在Access而不是Excel进行。)

我的“尖”会打破这种分解成更小的问题:分裂的日期范围为2列,每列,然后弄清楚如何lookup a date in multiple date range columnsThisthis应该让你开始。

下面是一个数组公式,你可以尝试:

=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 + + 输入

,我用了以下范围的名称,以制更具可读性:

╔════════════╦════════════════════╗ 
║ 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_array,podpol的垂直尺寸应该是相同的。

这里输入公式后的最终片:

Final sheet after entering the formula

我已经强调了主表中的相关结果表明,公式的作品。

稍后当我获得时间时,我会添加一个解释。