Excel - 用于计算具有空白单元格的列之间差异的公式

时间:2017-04-07 21:11:53

标签: excel excel-formula

我有一张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) 等等...

是否有自动化的公式?

1 个答案:

答案 0 :(得分:3)

公式:

= (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 functionINDEX function