2017-02-11 159 views
0

我試圖用IF和vlookup匹配數據,但似乎無法使其工作。任務是:Excel:如果條件不符合,則使用以前的值,忽略空白

Row 1 A B  C  D 
Row 2 1 251 8:00:00  
Row 3 2 253  
Row 4 1 252  
Row 5 2 254 8:00:01 
Row 6 1 257  
Row 7 2 250 8:00:02 
Row 8 3 260  
Row 9 4 248  
Row 10 1 255 8:00:03 

如果列C有值,則欲減去列A與前一行中的列A中,如果當前行是小於以前,我想記錄在列d對應的列B值如果爲假,則找到B列中的前一個有效單元格,使得當前A小於先前的A,並記錄在D中。如果C列沒有值,則留空。

示例:C2具有值,但是之前沒有數據,因此D2爲空。 C5有價值,A5> A4,因此我們試圖找到以前的值,直到我們找到A4 < A3,並且我們在D4中記錄B4的值(即252)。 C10有價值,A10 < A9,我們在D10中記錄B10(即255)。

Row 1 A B  C  D 
Row 2 1 251 8:00:00  
Row 3 2 253  
Row 4 1 252  
Row 5 2 254 8:00:01 252 
Row 6 1 257  
Row 7 2 250 8:00:02 257 
Row 8 3 260  
Row 9 4 248  
Row 10 1 255 8:00:03 255 

回答

0

爲了實現這一點,我將:

  1. 插入現有甲乙列之間的新列
  2. 在單元格B2放式=B1+IF(A2<A1,1,0)和向下複製此公式中的各個表項B列,因爲您需要
  3. 在單元格E3(不要打擾在E2中開始,因爲您知道您希望此單元格爲空)將公式=IF(D3&""<>"",VLOOKUP(MAX($B$2:B3),B:C,2,FALSE),"")
  4. 複製E3下來應該會給你你想要的結果。
+0

工作就像一個魔術。謝謝! – yusica