我希望我的 Excel 列中有更多“有意义”的公式。表格提供了一种很好的方法来实现这一点,我想将现有的工作表转换为使用表格,并自动将使用 A1 符号的公式转换为带有表格引用的等效公式,例如:
前:
福 | 酒吧 | 巴兹 |
---|---|---|
1 | 2 | = A2 + B2 |
后:
福 | 酒吧 | 巴兹 |
---|---|---|
1 | 2 | = [@Foo] + [@Bar] |
或者,我如何使用列别名?我已经能够设置列别名,但当我使用“应用名称”时,公式会损坏 ( #spill
)
答案1
答案2
这里有两个问题。第一个问题很简单。只需要做一点工作,虽然不多,但很容易。第二个问题有点微妙,因此可能更难解决。
当您将范围转换为表格时,请立即(并不完全是先做其他事情,但越快越好)转换公式。
怎么做到的?好吧,当您在范围之外创建表格时,Excel 会链接每列中的公式。因此,如果 B 列有=D1+G1
,它仍然有。其下方的行也是如此。按F2
进入编辑模式,然后在公式栏中,慢慢地(如果只有几个引用,则快速地)处理“A1 样式”引用,如下所示:
- 使用鼠标突出显示整个参考(
D1
作为示例)。 - 请注意,Excel 会突出显示其所引用的位置。
- 用鼠标单击该单元格或范围。
- 请注意公式的引用如何从
D1
变为[@Foo]
。
继续。我想我会先做更复杂的参考文献,那些有范围的参考文献,因为一旦你用所有那些“易于阅读”的结构化参考文献掩盖了所有内容,那么像小点这样的内容D1
将很难在所有杂乱无章的冗长文字中看到,从而弄乱了某种“更清晰、更干净的公式”。
从实际情况来看,由于存储需要作为表格的内容的范围预计主要引用您正在编辑的公式所在同一行中的单个单元格,所以它应该非常容易。
将引用更改为所有结构化引用后,按ENTER
保存结果。实际上,如果有很多引用需要更改,请在每更改几次后保存一次,这样您就不会因为出错而烦恼。
现在您有了更改后的公式,请注意列中的所有公式是否都已更改,或者没有更改。您可能会看到它们发生变化,就像列是理发店的立柱一样,成块移动,而不是连续移动……就像它从左向右滚动一样。但请务必查看下一个单元格以确保无误。
如果它们都有相关公式,它们都会发生变化。如果有,Excel 会在制作表格时将它们链接起来。这可以让 Excel 在开始下一行时将公式复制到新行中。
重要提示:确保这种情况发生。如果没有发生,则意味着该列至少有一个单元格包含不匹配的公式。您可能已打开 Excel 的错误指示来指示公式不匹配,在这种情况下,应该很容易找到有问题的公式。检查每一个,并确保没有理由不能将它们修复为标准版本。例如,使用电子表格的某个傻瓜可能希望某个值比实际值大 6,因此只需将某个值添加+6
到您的公式中即可。根据需要修复每种情况,但如果修复所有情况,只需将您在列顶部生成的公式复制到整个列中即可。每种情况都需要单独的修复,例如,给出的示例可以通过完全删除添加项来修复,或者可以通过决定可以调整哪些列的值来从标准公式中获得相同的效果。每种情况都会有所不同,但目标是修复所有情况,以便您可以将公式复制下来。
这样,您就可以获得表格的更好的效果之一,即在您创建的新行中自动填充需要公式的单元格。
所以,快速而轻松,很可能一切都完成了。下一篇。但即使不快,它仍然是“猴子工作”,只是需要艰难地完成。
第二个问题,没有问到,但显然很有趣。您提到将命名范围应用于工作表上的公式(大概基本上是在表格中),结果消失了,#SPILL!
而是显示错误。
这肯定是由于任何此类替换命名范围都包含dynamic reference
。因此,命名范围Horse
可能具有=C2#
作为其Refers to
值。或者在公式中使用一个。命名范围不必字面上包含实际的字母和数字,而是可以引用工作表或另一个命名范围中的某些内容,该命名范围是 或包含dynamic reference
。
这有什么关系?因为表格绝对不能与 一起使用dynamic references
。句号。无论如何它们都不会这样做。如果您将表格公式中的范围引用转换为以某种方式包含或引用 的命名范围dynamic reference
,则公式将立即给出#SPILL!
错误。
事实上,对我来说,一个新的事实是,实验表明,即使公式中的正常范围也会触发错误。部分原因是,错误是由于公式填满了整个列,并且它们相互干扰,例如动态范围需要比可用单元格更多的单元格。部分原因只是愚蠢,但却是事实。表格公式似乎无法处理任何范围,无论是垂直、水平还是二维。甚至不是动态范围,只是正常的范围I1:I29
。显然,这与动态范围本身导致表格失败的原因有关。
除此之外,没有其他事情会这样,在所描述的情况下,也没有其他事情会这样。鉴于您对这个问题的描述如此简单和直接,很难看出您对这个问题的描述会有什么错误。所以...
可能需要追踪的可能性很多。但是,在任何特定的电子表格中,一旦您知道需要发现问题引用,就可能很容易发现它。如果您有 100 列、73 个公式、28 个命名范围,并且其中 7 个有一个或多个范围,那么就更难了。如果这些范围对您的工作至关重要,那就更难了。
但是在这种工作中,大多数对此类范围的用法都是希望进行相对引用。因此在第 6 行中,我们需要该范围第 6 行的值。由于 Excel 会向下填充公式,因此您只需引用适合您所在行作为单个单元格的单个值即可实现这一点。因此,如果在表格的第 6 行中,需要来自类似引用的第 6 行值W1:W2098
,则只需在行的公式中引用即可W6
。当它填充列时,它将针对每一行进行调整并从范围中提取正确的值W1:W2098
。它只是需要以不同的眼光看待事物,一旦您了解它,就很容易理解。