Excel – 计算空白单元格列之间差异的公式
我有一个Excel表单,其值与下表类似。
------------------------------------- | A | B | C | D | E | F | ------------------------------------- | 95| | 98| 96| 95| | ------------------------------------- | 96| 95| | 92| 91| | ------------------------------------- | 93| | 92| 98| 94| | ------------------------------------- | 92| 98| | 95| 92| | ------------------------------------- | 95| | 99| 92| 98| | -------------------------------------
F1
的公式应该是=(B1-A1)+(C1-B1)+(D1-C1)+(E1-D1)
但是,有些单元格是空白的。 所以,如果单元格是空白的,它应该采取下一个单元格。
例如; F1
应该是=(C1-A1)+(D1-C1)+(E1-D1)
F2
应该是=(B2-A2)+(D2-B2)+(E2-D2)
等等…
有没有一个公式来自动化呢?
公式:
= (B1-A1) + (C1-B1) + (D1-C1) + (E1-D1)
也可以写成:
= B1 - A1 + C1 - B1 + D1 - C1 + E1 - D1
要么
= - A1 + (B1 - B1) + (C1 - C1) + (D1 - D1) + E1
其中只有第一个和最后一个数值占上风,因为所有其他数据本身都是无效的,
= - A1 + E1
所以公式成为last non-blank value
减去第first non-blank value
。
试试这个公式:
= INDEX( $A1:$E1, 0, AGGREGATE( 14, 6, COLUMN(1:1) / ( $A1:$E1 <> "" ), 1 )) - INDEX( $A1:$E1, 0, AGGREGATE( 15, 6, COLUMN(1:1) / ( $A1:$E1 <> "") ,1 ))
有关所使用的工作表函数的进一步解释,请参阅这些页面:
AGGREGATE函数 , INDEX函数 。