如何获取列中的所有值并更改它们的值

问题描述 投票:0回答:2

关于如何将所有值乘以其他单元格或根据某个值将所有值移动到另一个单元格有很多问题,但我想要的是采取以下示例图片:

我选择的所有值并除以 2。我不需要另一列,我只想更改电子表格中的所有这些值并将它们除以 2,值本身应该更改。

我还没有在任何地方找到这个问题的答案,我确信它非常简单。例如,在:

base_damage_mod
选定列,0.03 将变为:0.015。

我知道执行此操作的唯一方法是手动,这需要大量工作......

最简单的方法是什么?

excel vba
2个回答
2
投票

最简单的方法是编写宏,如下例所示:

Sub Divide_by_2()
  For Each c In Selection:
    If c <> "" Then
      c.Value = c.Value / 2
    End If
  Next c
End Sub

为了启动此宏,您需要选择单元格(无需复制,或按 Ctrl+C),然后启动宏。

就源代码而言,这是非常明显的,除了

c <> ""
部分:我添加这个是为了避免值 0 被填充到空单元格中。

有没有办法不用 VBA、不用宏就能做到这一点?
是的,有,但它涉及您创建一个新列,在其中键入一个公式,然后将该公式的值再次复制到另一列中并删除前两列,换句话说:这非常梅西:-)


1
投票

如果 C 列为空(如果不是,则临时插入一列),请在每个已使用的 D 列项目旁边输入 2 (*)。 复制 C 列的全部内容,然后使用“操作”>“除法”将“选择性粘贴”到 D 列。

(*) 如果项目太多而无法手动执行“2”,请将此公式复制到 C 列

=IF(ISBLANK(D1),"",2)
下,它将添加它们。之后,通过复制 C 列并使用“粘贴值”将其粘贴回来,将其从公式转换为值。 (特殊操作不适用于公式)

© www.soinside.com 2019 - 2024. All rights reserved.