对整个列应用公式

我把所有的邮政编码从 A 栏改成了 B 栏,公式是:

=TEXT(A1,"00000")

像这样:

enter image description here

我希望使用上面的公式对 B 列中的每个单元格进行转换。但是我有超过40,000行,所以将公式拖到下面将其应用到整个列 B 是不可行的,因为它需要很长的时间。

是否有拖拉的替代方法?

253148 次浏览

我想你很幸运。请试着进入 B1:

=text(A1:A,"00000")

(非常相似!)但是在击中 Enter之前击中 Ctrl + Shift + Enter

这是用 ArrayFormula()包装公式的捷径:

=ArrayFormula(text(A1:A,"00000"))

我觉得这是最近才有的,但是..。

双击突出显示的单元格右下角的正方形,将复制突出显示的单元格的公式。

为了清楚,当我们使用拖动指示器时,它只会将单元格值复制到列中,而在给定行的相邻单元格中有一个值。 一旦拖动操作看到一个相邻的空白单元格,它将停止向下复制公式。

例如:

1,a,b
2,a
3,
4,a

如果以上是一个电子表格,然后使用双击拖动指示器上的’b’单元格将填充第2行,但不是第三或第四行。

您可以通过双击要复制的单元格的右下角来填充该列(在框上的点,否则您将拖动该点) ,该点将应用于整个列。

注意: 如果您已经应用了过滤器,或者如果下面的单元格中已经有了一些内容,那么这种方法就不起作用。

假设 您希望替换字符串和 您不希望对整个工作表执行复制粘贴数组中的某个内容。

让我们以此为例:

  • “ a”列中的字符串数组: { apple,banana,Orange,... ,牛油果}
  • 你想把“ a”的字符串替换成“ x”的字符串: { xpple,bxnxnx, Orxnge,... ,xocado }

要以一种简洁而优雅的方式将此公式应用于整个列(数组) ,可以这样做:

=ARRAYFORMULA(SUBSTITUE(A:A, "a", "x"))

它也适用于2D 数组,比方说:

=ARRAYFORMULA(SUBSTITUE(A2:D83, "a", "x"))

找到了另一个解决办法:

  • 将公式应用于列的前3个或4个单元格
  • Ctrl + C最后一行中的公式(如果你复制第一行,它就不起作用)
  • 单击列标题选择整个列
  • Ctrl + V将其粘贴到下面的所有单元格中

也可以使用 Ctrl + Shift + Down + D 将公式添加到列中的每个单元格中。

只需单击/突出显示要复制的方程/公式的单元格,然后按住 Ctrl + Shift + Down + D,公式就会添加到每个单元格中。

看起来其他一些答案已经过时了,但是对我来说这个很有用:

  1. 单击包含要复制的文本/公式的单元格
  2. 单击要复制到的最后一个单元格
  3. Ctrl + Enter(Mac 上的 Cmd + Enter)

(注意,如果目标单元格不是空的,这将替换文本)

这是为那些想要 改写的柱细胞快速(没有剪切和复制)。这与双击单元格框相同,但与双击不同,它在第一次尝试后仍然可以工作。

  1. 选择要向下复制的列 手机
  2. Ctrl + Shift + 选择下面的单元格
  3. Ctrl + Enter将第一个单元格的内容复制到下面的单元格中

额外收获:

进入最底层内容(复查副本)的快捷方式是 Ctrl + 。要回去,你可以使用 Ctrl + ,但如果你的顶行是冻结的,你也必须按 Enter几次。

这样我就不会失去一个有用的答案:

  1. 选择要复制的单元格
  2. 选择列中的最后一个单元格
  3. CTRL + D

这对我很有效:

  • 在第一个单元格中输入 formula
  • Enter
  • 单击第一个单元格并按 Ctrl + Shift + down_arrow。这将选择工作表上使用的列中的最后一个单元格。
  • 这将在剩余的单元格中复制公式。

对麦金塔来说:

单击具有公式的第一个单元格,然后按 Ctrl + Shift + down _ row。这将选择工作表上使用的列中的最后一个单元格。


Command + D


(不要使用 ctrl) 。这将填充剩余单元格中的公式。

确切的公式是:

=ArrayFormula(text(A1:A,"00000"))

数组公式 适用于多行(在上面的示例中,每一行) ,结果与公式一起放在单元格中,公式下面的单元格放在同一列中。看起来好像所有这些行都复制了相同的公式。

如果该列中的任何单元格不是空的,则不会覆盖它们。相反,您将收到一条错误消息。

为了节省你的打字时间,你可以使用上面 回答中的技巧通过 傻瓜:

键入: =text(A1:A,"00000"),然后按下面的组合键:

  • 在窗口: Ctrl + Shift + Enter

  • 在 MAC 上: Command + Shift + Enter

这将把公式转换为 数组公式

在按下组合键之后,您需要按下 Enter 键,以实际应用转换后的公式。

如果您的工作表包含标题行,并且您希望从(例如)第5行应用公式,则应该使用 = text (A5: A,“00000”)。

这个答案包括来自 傻瓜的答案和 LOAS的评论的信息。

另一个简单易行的方法是,我的文件行数大于16000,这是一个相当大的数字。所以帮助我的步骤是:

选择写入公式的单元格。
2.然后转到 NameBox(这是一个说明活动细胞的框)。在我的例子中,它是写入公式的单元格(即 P2)。
3. 然后在该单元格中键入 活动手机号: 您的最后一行。例如 我专栏的最后一行是16745公式是用 P2写的。 写 P2: P16745,
4. 在“名称”框中按回车键,然后宾果你的整个列区域,直到最后一行被选中。
现在按 Ctrl + D(Windows) < br/>

Lambda 溶液

使用新的 LAMBDAMAP函数,现在可以在不需要 ArrayFormula或不需要拖动任何东西的情况下实现这一点。

=MAP(A2:A6, LAMBDA(value, TEXT(value, "00000")))
  • LAMBDA定义了一个函数。 value是一个参数,我们可以在公式表达式中使用它。
  • MAPLAMBDA应用于给定范围内的每个值。这也适用于2D 范围。

尝试:

=INDEX(TEXT(A2:A; "00000"))

优点: 短,工程,闻起来不错

你可以做的是:

=INDEX(IF(A2:A="";;TEXT(A2:A; "00000")))