Excel 中的進階儲存格選擇

Excel 中的進階儲存格選擇

我對這個 StackExchange 風格很陌生,所以如果它屬於其他地方,請移動它;不過我想這會是最好的地方。

我正在製作一個 Excel 工作表,它僅將基本財務資料儲存在 5 列(Check NumberDate of TransactionDescriptionProfit from TransactionBalance After Transaction)和不定行中。每個工作表代表一個月,每個工作簿代表一年。當我進行或接收付款時,我將其儲存為新行,這本質上使每月的行數不確定。每個事務的Balance儲存格是Balance其上方行的儲存格與其Profit行的儲存格總和。我希望每個月都以一個特殊的行(列標題後的第一個行)開始,顯示該行的摘要最後的月的交易。例如,Balance After Transaction儲存格將顯示最後一行的餘額,Profit from Transaction儲存格將顯示當月的總體利潤)

我知道,如果我知道每個月正好有 100 項支出,我可以分別使用以下利潤和餘額公式在 3 月實現這一目標:

=February!E2 - February!E102
=February!E102

然而,我確實不是知道每個月的表中有多少行,並且我想盡可能地自動執行此操作(例如,如果我發現一月份遺漏或重複的費用,我不想更新所有公式指向一月份末的餘額)。如何讓 Excel 自動使用列中、任何給定 Excel 電子表格中或公式中最後輸入的值?

答案1

我的第一個建議是將此範圍轉換為表格(插入 -> 表),然後您可以添加總計行,您可以透過其名稱從不同的工作表/工作簿中引用該行,然後無需擔心行數。

如果這不是一個選項,那麼您可以這樣做:

要獲取上個月的利潤摘要,您應該使用

=SUM(Month!$D:$D)

(這假設利潤一欄除了利潤之外沒有其他數字)。

對於上個月的餘額,@Jesse 公式應該有效,但前提是您的表格從第一行開始,如果不是,您可以嘗試以下操作:

=INDEX(Month!$E:$E,MATCH(TRUE,ISBLANK(Month!$E:$E),0)-1)

輸入時,請確保使用CTRL+SHIFT+ENTER.這將ISBLANK在整個列上找到第一個空白單元格,然後檢索其上方的值(這將是最後一行)。

為了使其更加動態且面向未來,我建議使用命名範圍,因此如果需要,您不必更改對列的所有參考。

答案2

不要使用間接,這種等級的計算會很痛苦。間接是不穩定的,每次更改任何內容時都會導致工作表中的每個公式重新計算。

您可以使用索引代替。看起來像:

=INDEX(Month!A:E,COUNTA(Month!A:A),COLUMN())

您僅引用整個列,並使用該函數自動計算列偏移COLUMN()

答案3

另一種簡單的方法是將名稱插入工作簿中。一月、二月等。

例如,插入名稱“Jan”和 RefersTo =COUNT(January!A:A)+2 這將為您提供行數,您可以在公式中間接使用它來建立範圍引用。

該行中的最後一個儲存格將為 =INDIRECT("E"&Jan),如果您願意,您也可以在其他地方的摘要表中使用這些參考。

假設 A 列中有數字(日期)。

相關內容