答案1
我可以给你一个“通用”方法……这是一种非常“低技术”的方法,但假设你可以将公式传播到右侧,这样正确的公式就存在了,只是不在正确的位置,它就能解决问题。如果你需要将成品复制到某个地方,它将保持所有相同的关系。
因此,单元格 A2 中有=A1+B1
。您将其复制到 B2、C2、D2...Y2。现在 B2 中有=B1+C1
(不想要的),C2 中有=C1+D1
(想要的,但不在正确的位置),依此类推,Y2 中有想要的,=Y1+Z1
但距离您想要的位置约 12-13 列。
看上去进展不大。
但接下来,选择(突出显示)所有不需要的单元格。基本上,突出显示 B2、D2、F2、H2 等,直到 X2。删除单元格(单元格,而不仅仅是其内容),当 Excel 询问时,告诉它将保留的单元格向左移动。
现在您只拥有了所有那些“想要但...”的单元格,并且它们也位于正确的位置。
这可以毫无问题地处理公式中的任何绝对引用。并不是说您可以直接复制 A2 单元格并粘贴到 B2:X2 范围内而不进行调整,因为您可能有一些变化的绝对引用,而且可能一切都非常复杂,但如果只是提及这一点,以便公式化解决方案能够直截了当,那么这就可以了,没有问题。
您描述的布局可能不适合在其他地方批量复制和粘贴,因为它不利于这样做(所以不像很多问题那样需要复制和粘贴几千行),但如果您想要在其他地方使用相同的结构,只需将第 2 行中的最终结果单元格复制为新的“第 2 行”,无论在哪里需要它。
再次强调,这绝对是低技术含量的。有人可能会说这几乎令人尴尬。但很容易,很难搞砸。不像任何公式化的方法那样复杂。
如果有人担心这一点(现在这并没有什么问题,除非有 100,000 行数据......现在的计算机功能非常强大),这里面并没有什么“易变性”。
如果有 300 列,而不仅仅是 26 列,则只需多花半分钟。从工作量上来说,这并不是什么大问题。
对于非易失性方法,您只需INDEX
在每个单元格中使用一个函数,指定每次计算要采用的两列。您将使用COLUMN()
它来获取结果所在的列,将一个加数乘以二并减一,然后对第二个加数进行相同但不减一的操作。这可以复制并粘贴。可能看起来像:
=INDEX($A1:$Z1,1,COLUMN()*2-1) + INDEX($A1:$Z1,1,COLUMN()*2)
查看 B2 时,将发生的情况是,在前半部分,Excel 发现COLUMN()
是“2”,因此它乘以 2 得到 4,减去 1 得到 3,并将单元格 C1 相加,而在后半部分,在 4 处停止,并将单元格 D1 相加。然后将它们相加。单元格 C2 为列提供“3”,因此元素 5 和 6(E1、F1)从 A1:Z1 数组/范围返回。
比低技术方法提供的简单 A1+B1 公式计算量更大,但对于 13 个公式来说呢?毫无意义。
注意事项?嗯,它不会处理那些绝对引用,但您可以在 A2 中手动输入一次,然后使用上面的方法查找两个标题单元格。它本身就是低技术含量的!
无论如何,当想要做一些 Excel 不适合做的事情时,要记住低技术含量。
答案2
许多可能的选择之一是公式
=SUM(OFFSET($A$1;0;(COLUMN()-1)*2;1;2))