表 1# --- 上個月末總表

表 1# --- 上個月末總表

我的目標是追蹤設備運行時間並製作每日報告來反映總運行時間和運行時間。

我想在工作簿中建立一個包含整個月 31 天工作表的文件,以便可以按日期組織文件。

文件中工作表的順序如下:

第一份工作表將是上個月工時的開始摘要。

接下來的 31 張工作表是每月每天的 1 到 31

最後一個工作表基本上將包含該月最後一天的結束訊息,以便僅為下個月開始摘要的開始複製和貼上特殊值。即使該月的天數發生變化,也不會受到影響。

我希望工作簿能夠設定完畢並準備好使用,而無需使用者操作所涉及的公式。使用者要做的就是在第一張表上輸入開始時間,然後每天輸入各種設備的當天結束時間。

一列範例:

表 1# --- 上個月末總表

社區位置:(表1~~~~單元格A1)

儲存格公式:無公式 - 使用者輸入月末小時數100

成品外觀:

100

表 2#--- 第 1 天

社區位置:(表2 ~~~~單元格A1)

儲存格公式:無公式 - 使用者輸入當天結束時間的數字

使用:今天的總小時數 - 用戶在當天結束時輸入的值 -125

社區位置:(表 2 ~~~~單元格 A2)

單元格公式:=+'sheet 1'!A1

使用:自前一天結束以來的小時數 - (從工作表 1 中提取的值 ~~~~單元格 A1-100

社區位置:(表2 ~~~~單元格A3)

單元格公式:=A1-A2

使用:今天的運行時 - 簡單計算單元格 Sheet 2 ~A1 中的值減去單元格 Sheet 2~A2“上述單元格”-24

成品外觀:

124

100

24

第二天的安排如下:

表 3#--- 第 2 天

社區位置:(表 3,儲存格 A1)

儲存格公式:無公式 - 使用者輸入當天結束時間的數字

使用:今天的總小時數 -(使用者在當天結束時輸入的值 -148

社區位置:(表 3,儲存格 A2)

單元格公式:=+'sheet 2'!A1

使用:自前一天結束以來的小時數 - (從工作表 2 - 儲存格 A1 中提取的值 -124

社區位置:(表 3 - 單元格 A3)

單元格公式:=A1-A2

使用:今天的運行時 - 簡單計算單元格 Sheet 3 - A1 減去 Sheet 3~A2“同一張紙上的上述單元格”的值 -24

成品外觀:

148

124

24

這是最簡單的部分...

現在可以使用多列數字輕鬆計算 31 天的價值。

表4#,

我右鍵單擊該選項卡,選擇移動或複製,建立副本。將新選項卡重命名為“sheet 4”

透過執行上述製作新工作表的方法,公式與前一張工作表相同,並且將從相同(工作表 2)位置提取資訊。

A1 單元是使用者輸入的號碼,該號碼與複製的工作表相同。

A2 單元現在複製為:=+'sheet 2'!A1

A3 單元被複製為正常的“=A1-A2”計算,該計算是根據同一工作表中的單元格計算的。沒問題。

我想要公式細胞A2自動更新為:

=+'表3'!A1製作下一張紙時。

如何讓新工作表提取更正的儲存格公式,而無需手動進行更正。

要從一張紙中提取近 40 多個單元格的信息並轉移到第二天,手動輸入並更改 1240 多次來設置一個月就太多了。

答案1

尋找和取代菜單。http://office.microsoft.com/en-us/excel-help/find-or-replace-text-and-numbers-on-a-worksheet-HP001216390.aspx

本質上,您想在公式 '=+'sheet 3'!A1' 中找到並替換為 '=+'sheet 4'!A1'。我以前必須製作大量這樣的 Excel 電子表格,整整一年製作了 2 個,這是我可以使用的最佳解決方案。

答案2

這是一種可以執行您想要的操作的方法,假設您的選項卡名稱受到控制並以您所描述的升序數字結尾。

我來給你分解一下:

  1. 需要知道我在哪個工作表上,所以我知道“計算”前一天工作表的名稱。比方說XX= =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)。在工作表 1 上,傳回字串“Sheet 1”,在工作表 2 上,傳回“Sheet 2”

  2. 現在,我需要解析這個字串來找出數字,並從中減去 1 以獲得昨天的數字,但前提是我不是第一天。YY==IF(MID(XX,7,2)>1,MID(XX,7,2)-1,1)

  3. 最後,這就是神奇之處,使用該INDIRECT函數即時計算我的“目標”。 =INDIRECT("'Sheet "& YY &"'!A1")

將它們放在一起,其中您必須以粗體/斜體自訂的部分(我沒有使用程式碼標記,因為突出顯示似乎在 CODE 內部不起作用):

=間接(“'床單"& IF(MID(MID(CELL("檔案名稱",A1),FIND("]",CELL("檔案名稱",A1))+1,256),7,2)>1,MID(MID(CELL("檔案名稱",A1),FIND("]",CELL("檔案名稱",A1))+1,256),7,2)-1,1) &"'!A1”)

需要更新的內容:

  • 'Sheet ' -- 替換為您的工作表前綴(數字之前的部分)
  • '7' - 替換為上述前綴的長度+1(或替換為函數)
  • 'A1' - 替換為您想要的上一張表中的儲存格位址
  • 不要更改“文件名”——它必須保持原樣(特殊保留名稱)
  • 不必更改 CELL 函數內的 A1。它是任意的,對於這個保留名稱來說並不是真正需要的,也不必更改。

相關內容