我的目标是跟踪设备使用时间并提供每日报告来反映总使用时间和运行时间。
我想在工作簿中创建一个包含整个月 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 表#---第二天
蜂窝位置:(第 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
本质上,您要在公式中找到“=+'sheet 3'!A1”并将其替换为“=+'sheet 4'!A1”。我以前必须制作大量这样的 Excel 电子表格,一年制作了 2 个,这是我可以使用的最佳解决方案。
答案2
这里有一个可以执行您想要的操作的方法,假设您的选项卡名称受到控制并且以您描述的升序数字结尾。
我来给你分析一下:
需要知道我在哪张表上,这样我才能“计算”前一天表的名称。假设二十=
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
。在 Sheet 1 上,这将返回字符串“Sheet 1”,在 Sheet 2 上,它将返回“Sheet 2”现在,我需要解析这个字符串来找出数字,并从中减去 1 来获得昨天的数字,但前提是我不是第一天。耶耶=
=IF(MID(XX,7,2)>1,MID(XX,7,2)-1,1)
最后,这就是魔法,使用该
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。它是任意的,对于这个保留名称来说并不是真正需要的,也不必更改。