将Excel公式的一部分更改为恒定值

时间:2018-11-04 14:29:21

标签: excel formula increment base

我在一个列上都有一个excel公式,该列的基数每隔“ x”行都会更改。请注意,此“ x”不是常数,并且会不断变化。例如

=D1/SUM(D$1:D$4)
=D2/SUM(D$1:D$4)
=D3/SUM(D$1:D$4)
=D4/SUM(D$1:D$4)
=D5/SUM(D$5:D$9)
=D6/SUM(D$5:D$9)
=D7/SUM(D$5:D$9)
=D8/SUM(D$5:D$9)
=D9/SUM(D$5:D$9)

我试图更改公式的第一部分而不更改第二部分,反之亦然。例如将分子改变10个单元格。

=D11/SUM(D$1:D$4)
=D12/SUM(D$1:D$4)
=D13/SUM(D$1:D$4)
=D14/SUM(D$1:D$4)
=D15/SUM(D$5:D$9)
=D16/SUM(D$5:D$9)
=D17/SUM(D$5:D$9)
=D18/SUM(D$5:D$9)
=D19/SUM(D$5:D$9)

或将底数更改为100。例如

=D1/SUM(D$100:D$104)
=D2/SUM(D$100:D$104)
=D3/SUM(D$100:D$104)
=D4/SUM(D$100:D$104)
=D5/SUM(D$105:D$109)
=D6/SUM(D$105:D$109)
=D7/SUM(D$105:D$109)
=D8/SUM(D$105:D$109)
=D9/SUM(D$105:D$109)

有时,两者都有。关于如何做到这一点的任何指导?

谢谢。

2 个答案:

答案 0 :(得分:2)

这个问题的第一部分似乎很容易,除非我遗漏了什么?

第1部分:

由于分母已经是$ x形式,因此您可以选择并复制整个公式范围,然后将它们向下粘贴10行,然后剪切并将其粘贴回适当位置。 COPY将适当更新分子,当您将其剪切并粘贴回原位时,它们现在是否就如您所愿?第二个问题将更具挑战性!

第2部分:

在没有VBA的情况下,我只能想到一种真正漫长的方法来更改您的指示符,但我只是检查了它是否有效: 要更改底部。

  1. 搜索=并替换为'=

现在,您可以更自由地编辑公式。

  1. 搜索D并将其替换为D%

  2. 搜索D%$并将其替换为D

  3. 搜索D%并将其替换为D $
  4. 通过使用“数据”>“文本转列”选项摆脱“ =”
  5. 现在使用复制粘贴,从第1部分剪切粘贴技巧。

然后,如果您仍然需要返回$ s,则基本上可以重复1到5。 抱歉,这看起来确实很漫长,但是如果您不顾一切并在开始之前进行备份,它应该可以工作。

答案 1 :(得分:1)

一个excel公式不能替换另一个单元格excel公式...一种方法是将公式转换为文本,然后通过其他公式进行转换。转换完成后,您可以将公式粘贴回去。

因此,要更改D1-> D11,我将建立一个虚拟序列(列K),然后编写一个公式(单元格L1)。然后,我可以复制公式并将其粘贴到正确的列中。

用特殊字符替换“ =”,然后可以转换公式。 (F列)。

在第一列中,使用的公式为:=RIGHT(F1,LEN(F1)-FIND("/",F1))

enter image description here

要更改D$1-> D$100,我想我将通过在“公式”中搜索来复制和替换它。

enter image description here

这种方法对于数百个电池单元可能是可行的。如果列表很长,我会推荐一些VBA解决方案,您可以在其中使用.Range("A1").Formula

获取单元格公式