2017-04-07 78 views
0

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

是否有一個公式來自動完成這個?

+0

A1和E1也可能是空白的嗎?對於你所展示的所有例子,答案只是E1-A1,因爲它們之間的單元被取消。 –

+0

是的。任何單元都可以是空白的。 F中的單元格可以是0或負值或正值。 – user1777929

+0

因此,要清楚,你的第三行應該解析爲「-186」,而不是「-93」,是否正確? – BruceWayne

回答

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

+0

非常感謝。這個公式工作! – user1777929

相關問題