簡體   English   中英

vlookup:lookup_value作為日期范圍

[英]vlookup: lookup_value as date range

以下情況:

表格1在兩個單元格中提供了日期范圍:

Beginning____End

1.2013______2.2013

2.2013______3.2013...

表格2提供了特定的日期和值

3.1.2013_____500$

5.2.2013_____700$...

我現在想做的是將工作表2中的值插入工作表1中正確的日期范圍旁邊。請注意,每個日期范圍只有一個日期(因此只有一個值)。

1.2013___ 2.2013___500$

2.2013___ 3.2013___700$

通常在這種情況下,我會使用Vlookup並匹配日期,但這不起作用,因為我必須將值范圍設置為lookup_value。

感謝您的幫助。 這個問題似乎很簡單,但我似乎找不到解決方法! 我試圖為在這里和其他網站上發現的類似問題應用一些解決方案,但還沒有找到解決方案。

謝謝,最好的問候!

我不確定是否有其他選擇,但這是我想出的:

=IF(VLOOKUP(C3,Sheet1!$B$3:$C$11,1)>=B3,VLOOKUP(C3,Sheet1!$B$3:$C$11,2),0)

首先要注意的是,您有一個“浮動”范圍或未錨定范圍,這導致您的LOOKUP()有所工作,但最終會導致很多錯誤的值。

對於公式,這里有一些描述:

VLOOKUP(C4,Sheet1!$B$3:$C$11,1)>=B4這將檢查End of Period是否等於或Sheet1我們要查找的Sheet1的日期。 如果跳過一個月,則需要注意的一點是。

VLOOKUP(C3,Sheet1!$B$3:$C$11,2)查找日期的相應值。

在這里更新了您的文件。

只要您在Sheet2上的日期按升序排列,您仍然可以使用VLOOKUP。 如果檢查VLOOKUP的幫助,則會看到如果range_lookup參數省略或為TRUE,則該函數將匹配等於搜索值的第一個值, 或小於搜索值的最大值 因此,在您的示例中,如果Sheet1上的單元格B2包含2.2013VLOOKUP(Sheet1!B2, Sheet2!$A$1:$B2)將返回500,因為3.1.2013是搜索列中小於搜索值的最后一個值(Excel認為month.year日期值等於1.month.year)。

如果Sheet2上每個月有一個值(例如,它永遠不會從5.2.2013跳到7.4.2013),那么VLOOKUP本身就可以滿足您的需求。 如果在Sheet2上有時缺少月份,則需要限制VLOOKUP函數的搜索范圍,以防止(在此示例中)結束日期4.2013返回5.2.2013值。 您可以使用OFFSET和MATCH函數為VLOOKUP的table_array構造一個范圍,該范圍從要查找的日期范圍的開始處開始。 在MATCH函數中使用match_type參數1,使其行為與VLOOKUP相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM