Excel:如果未满足条件,则使用先前的值,忽略空格

时间:2017-02-11 15:11:02

标签: excel conditional-statements blank-line

我试图将数据与IF和vlookup匹配,但似乎无法让它发挥作用。任务是:

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列,如果当前行小于previous,我想在D列中记录相应的B列值。如果为false,则找到B列中的前一个有效单元格,使得当前A小于前一个A,并记录在D.如果C列没有值,则留空。

示例:C2具有值,但之前没有数据,因此D2为空。 C5具有值,A5> A4,因此我们试图找到先前的值,直到我们发现A4&lt; 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

1 个答案:

答案 0 :(得分:0)

要做到这一点,我会:

  1. 在现有A列和B列之间插入新列
  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应该会给你你想要的结果。