簡體   English   中英

如何使用 Excel 表結構化引用創建運行總計?

[英]How to create running total using Excel table structured references?

我正在尋找一種使用 Excel 表結構引用創建運行總計(當前行及以上的總計)的方法。

我知道如何使用舊的基於行/列的方式來做到這一點:
=SUM($A$2:$A2)

而且我知道如何使用結構化引用匯總整個列:
=SUM([WTaskUnits])

而且我知道如何使用[#ThisRow]獲取當前單元格,但我不確定如何獲取表格的第一行以在SUM中使用它。

實際上,我只是想出了一種使用 INDEX 的方法,但覺得應該有一種更結構化的參考方法。 盡管如此,對於其他想要這樣做的人來說,這是我想出的:
=SUM(INDEX([WTaskUnits],1):[[#This Row],[WTaskUnits]])

我使用 INDEX 獲取列的第一個單元格(相當於我的行/列示例中的 $A$2)並通常使用 [#This Row] 獲取當前行中的單元格(相當於我的行/列示例中的 A2) .

=SUM(OFFSET([WTaskUnits],0,0,ROW()-ROW([[#Headers],[Running Total]])))

該表有兩列 [WTaskUnits] 和 [Running Total]。 上面的公式根據要求對單元格范圍求和。

OFFSET function 的第一個 arguments 定義了求和的起點。 第四期,

ROW()-ROW([[#Headers],[Running Total]]

是表中當前行數的有用習語。

我意識到這是一個舊線程,但我終於有了一個我想提供的解決方案。

=IF(ISNUMBER(OFFSET([@Balance],-1,0)),OFFSET([@Balance],-1,0)+[@Amount],[@Amount])

在第一個數據行的實例中,偏移量指向 header,它不是數字,因此結果只有Amount列。

其余行為您提供來自OFFSET的先前Balance加上當前行Amount

請注意,如果您使用 =SUBTOTAL(109,...) 而不是 =SUM(...) 那么您的公式將尊重表格上的過濾器。

使用以下公式:

   =SUM( INDEX([Values],1) : [@Values] )

我們使用 INDEX 返回值列中的第一個單元格,並簡單地使用對當前行的結構化引用返回我們想要求和的范圍內的第二個單元格。

資源

不知道你所說的更有條理是什么意思,你這樣做的方式很好。 您也可以簡單地在表格 header 下方的單元格中開始您的范圍:

OFFSET([[#Headers],[WTaskUnits]],1,0,1,1):

但我不會稱之為更有條理,只是不同。 列中的部分行范圍沒有表參考,所以我的建議是堅持你所擁有的。

我使用 Excel 的 Pivot 創建了我的運行總計:

  • 總和值 -> 總和...
  • 將值顯示為 -> 運行總計

我的 2 美分,晚了 5 年(也許沒有抓住重點)。

對於固定的數據表 1. 轉到您想要小計的列中的最后一個單元格 2. 小計包含數據的列並絕對引用第一行 3. 將公式復制到第一行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM