2017-10-20 93 views
0

從早上開始,我一直在努力解決這個問題。如果你能給我一個提示,我將不勝感激。從日期範圍內的主工作表中提取值

我有包含用於不同日期時間的價格數據範圍內的主片: enter image description here

基於今天日期(10/20)我應該是指相應的日期週期列(j & K)或(V & W),提取有效日期期間&價率爲20' & 40' 並將它們分配給我的最後一個薄片:

什麼是做到這一點的最好方法是什麼?

enter image description here

+0

您可以將第2行中的日期更改爲2個單獨的單元格 - 一個用於開始日期,另一個用於結束日期?現在它的方式是一個文本字段,因此很難找出你的日期是否適合於2。 –

+0

這可能是工作表公式,但我建議你使用VBA解決方案。 –

+0

你剛纔問過這個類似的問題嗎(https://stackoverflow.com/questions/46847655/extract-a-value-from-the-chart-filtered-by-criteria-in-excel#comment80648258_46847655)?如果您有更多信息,您可以專注於一個問題並編輯問題。 – ian0411

回答

1

這有點一個棘手的,但它是做,能。 (這將是比較容易的方式在Access而不是Excel進行。)

我的「尖」會打破這種分解成更小的問題:分裂的日期範圍爲2列,每列,然後弄清楚如何lookup a date in multiple date range columnsThisthis應該讓你開始。

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 + + 輸入

,我用了以下範圍的名稱,以制更具可讀性:

╔════════════╦════════════════════╗ 
║ 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

我已經強調了主表中的相關結果表明,公式的作品。

稍後當我獲得時間時,我會添加一個解釋。