【发布时间】:2021-03-20 03:19:55
【问题描述】:
我有一个包含 13 张表格的电子表格:一份年度总结和 12 张辅助表格。这十二张支持纸中的每一张都有小节,每个小节都有一个小计。摘要表需要从每个小节中提取每个月的小计。以随机的间隔,将在小计中插入行,这将改变小计的值,以及该小计在工作表中的绝对位置。
子问题 1:为每个部分创建小计。 定义为在当前填充的范围内使用 =SUM 的单元格。 估计解决了。
子问题 2:命名包含子问题结果的单元格,以便在主工作表中不使用绝对位置。 通过命名包含“=SUM”公式的单元格来处理,并给它们命名,如“RedSubtotal”、“BlueSubtotal”,范围仅限于该特定工作表。换句话说,在多个工作表上使用相同的确切字符串/名称,只要它们都在其托管工作表范围内,就不应该出现冲突。 假定已解决,但我想知道。
子问题 3:在摘要(年)表上,从月表中获取命名值。为避免大量繁琐的输入,由于工作表的名称与它们所代表的月份相同,并且摘要表的左侧列有这些名称,因此尝试了以下操作:
(主工作表单元格 A2 恰好具有值“March”,不包括此上下文中的引号。)
然后将主表单元格 B2 设置为这个确切的字符序列:
=INDIRECT($A2 & ".RedSubtotal")
预计这将评估为以下确切的内部字符串:
March.RedSubtotal
反过来,我认为应该在内部这样做:
- 找到名为“March”的工作表并输入该上下文。
- 在该上下文中,找到名为“RedSubtotal”的符号并对其进行评估。
- 发现 RedSubtotal 计算结果为 $H$32 的单元格,从 March.$H$32 获取数据。
- 发现 March.$H$32 的计算结果为 =SUM(H28:H31),在 March 表的上下文中执行该总和 - 即,添加使用 March 的数据而不是 Main 指定的单元格范围 -并返回结果(整数)
- 显示主表单元格 B2 中返回的整数。
获得的结果是“#REF!”错误,但可能还有一个更基本的错误。
如果我将测试单元设置为这个精确的手动输入的字节序列:
=March.RedSubtotal
我得到了预期的结果。
如果我改为尝试这个精确的手动输入字节序列:
=INDIRECT("March.RedSubtotal")
我收到 #REF 错误。
我非常怀疑这一点。有人知道这里发生了什么吗?
我知道文件格式精神分裂症中的整个 dot 与 bang 的白痴,所以请耐心等待,并明确说明您针对什么上下文/设置/名词/任何内容提出的确切顺序。在这一点上我需要的最后一件事是格式大战,我只是想找到能按预期解决问题的方法,而无需对单元格编号进行硬编码。
【问题讨论】:
-
抱歉,我找不到更紧凑的方式来讨论这个问题。从概念上讲,这似乎是一件非常简单的事情,但它失败了。结果,我只好详细尸检。
-
随着人们变得聪明并解决问题,请记住:这里的主要目标是避免在另一张纸上引用明确的单元格地址。理想情况下,假设主工作表甚至无法访问这些单元格,只能访问在命名单元格中执行的函数的结果。
标签: libreoffice-calc