向已有值的单元格添加公式

向已有值的单元格添加公式

我正在处理一个工作表,其中有些单元格已经有不同的值。我想添加一个公式,即 *rate,它将单元格中的现有值乘以名为“rate”的单元格。是否可以在不向每个单元格添加公式的情况下做到这一点。有超过 400 个值,需要添加此公式。有什么想法吗?我正在使用 Microsoft Office 2019。基本上,我在这里所做的是尝试将所有单元格从人民币转换为美元,方法是添加一个复选框,单击它即可将单元格转换为美元,但我只能通过在每个单元格中使用此公式才能使其工作。我很感激您可能有的任何想法。

截屏:
截屏

答案1

说我们的价值观A1通过A10并且费率以单元格表示B1

在此处输入图片描述

运行简短的宏:

Sub applyRate()
    Range("B1").Name = "Rate"
    For Each r In Range("A1:A10")
        r.Formula = "=RATE*" & r.Value
    Next r
End Sub

生成:

在此处输入图片描述

完成后,如果费率发生变化,您可以编辑费率单元格。

答案2

bkraines的答案确实有效,这让我很惊讶。但只有当目标单元格中​​有一个活动公式时,它才会起作用。(它可以是一个可解析的公式,而=A1不是更开放的公式RAND(),但如果它是一个“标签”而不是公式,那么这种方法就不能按照你想要的方式工作。它执行乘法(或 PSM 将执行的其他三种算术运算中的任何一种)并将结果放在单元格中,而不是将那里的值乘以乘数。因此,PSM 将“23”乘以“*rate”(如果 rate = 0.05)得出“1.15”而不是“23*rate”。

但是,您可以使用公式来完成。例如,您需要三个临时辅助列(完成后删除它们)。在第一个列中,放置"'="(双引号、单引号、等号、双引号)。在第二个列中,放置“*rate”(星号然后速度最后一个双引号是字符串的首尾部分(用双引号括起来)。看起来您可以删除最后一对双引号,但这样做会失败。第一个是您要添加到原始条目开头的字符串,第二个是您要添加到原始条目结尾的字符串。

假设这些是单元格 A1(原始条目)、B1 和 C1。现在在 D1 中放置公式:

=B1&A1&C1

根据需要将这三个单元格复制/粘贴到所需位置。然后选择 D 列中的单元格并复制它们。返回 A1 和Paste|Special|Values。现在,原始单元格中的结果基本已存在……只需删除多余的部分。单元格可能如下所示:

'"'="23*rate

最后,选择所有这些单元格并执行两个Find and Replace操作。按以下顺序执行非常重要:

  1. 查找并替换单引号nothing(将替换行留空)。
  2. 查找并替换双引号nothing(将替换行留空)。

您现在将拥有如下条目:

=23*rate

因为他们是真正的男孩,呃......公式......现在,您将在屏幕上看到他们的结果。

最后,删除辅助列。现在,您已经得到了想要的结果:保留在原处的原始条目现在乘以“费率”并显示结果。(并且没有辅助列会弄脏您的工作表。)

答案3

这很简单。首先选择所有应显示公式结果的单元格,然后在第一个单元格中正常输入公式,然后点击CTRL+ ENTER

您还可以执行以下操作:如果所有单元格都在同一列,则在第一个单元格后输入公式,然后按住输入公式的第一个单元格的右下角并拖动到应该显示结果的所有单元格。

如果您的目的是用新结果覆盖前两列,只需删除第一列即可。假设第一个值在 中A1:A10,结果在 中B1:B10,那么如果您删除A列,B列将自动取代A列。

答案4

我认为所有答案都过于复杂。为什么不直接在单独的单元格中计算值(例如 =A6*E1),然后将新计算的值作为值粘贴到原始单元格中并删除辅助单元格。

相关内容