Excel:如果条件不满足则使用之前的值,忽略空格
Excel: use previous value if condition not met, ignoring blanks
我正在尝试将数据与 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列,如果当前行小于前一行,我想在D列中记录对应的B列值。如果为假,则在B列中找到上一个有效单元格,使得当前A小于上一个A,并记录在D中。如果C列没有值,则留空。
例:C2有值,但前面没有数据,所以D2为空。
C5 有值,A5 > A4,因此我们试图找到以前的值,直到找到 A4 < A3,我们将 B4 的值(即 252)记录在 D4 中。
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
为了实现这个目标,我会:
- 在现有的 A 列和 B 列之间插入一个新列
- 在单元格 B2 中输入公式
=B1+IF(A2<A1,1,0)
并根据需要将此公式复制到 B 列中的任意多个条目
- 在单元格 E3 中(不要费心从 E2 开始,因为您知道您希望此单元格为空)输入公式
=IF(D3&""<>"",VLOOKUP(MAX($B:B3),B:C,2,FALSE),"")
- 复制 E3 应该会得到您想要的结果。
我正在尝试将数据与 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列,如果当前行小于前一行,我想在D列中记录对应的B列值。如果为假,则在B列中找到上一个有效单元格,使得当前A小于上一个A,并记录在D中。如果C列没有值,则留空。
例:C2有值,但前面没有数据,所以D2为空。 C5 有值,A5 > A4,因此我们试图找到以前的值,直到找到 A4 < A3,我们将 B4 的值(即 252)记录在 D4 中。 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
为了实现这个目标,我会:
- 在现有的 A 列和 B 列之间插入一个新列
- 在单元格 B2 中输入公式
=B1+IF(A2<A1,1,0)
并根据需要将此公式复制到 B 列中的任意多个条目 - 在单元格 E3 中(不要费心从 E2 开始,因为您知道您希望此单元格为空)输入公式
=IF(D3&""<>"",VLOOKUP(MAX($B:B3),B:C,2,FALSE),"")
- 复制 E3 应该会得到您想要的结果。