将公式应用于整个列

sky*_*ydv 80 google-sheets array-formulas google-sheets-formula

我正在尝试使用以下公式将A列中的所有邮政编码重新编码为B列:

=TEXT(A1,"00000")
Run Code Online (Sandbox Code Playgroud)

像这样:

在此输入图像描述

我希望使用上面的公式转换B列中的每个单元格.但是我有超过40,000行,所以不可能拖下公式并将其应用到整个B列.

有没有我可以用来解决这个问题的公式?

Fre*_*ury 76

我认为这是一个更新的功能,但它适用于我:

双击突出显示的单元格右下角的方块复制突出显示的单元格的公式.

希望能帮助到你.

  • 这是问题的正确答案.双击"拖动指示器"(右下角)将公式复制到所有单元格.确保首先清除列数据,并仅将公式应用于一个.上面的回答"ArrayFormula"似乎能够将许多单元格应用于一个公式,这不是OP想要的. (18认同)
  • 这个解决方案对我不起作用 (14认同)
  • 这种双击似乎仅在您要填充的列旁边的列中存在数据时才起作用......如果中间有一个空的“间隔”列,它就会默默地失败。 (5认同)
  • 感谢分享.它对我来说很好但我更喜欢使用ArrayFormula函数,因为不像你的方法基本上会将完全相同的公式复制到每个单元格,ArrayFormula将更加动态并且可以更容易编程. (3认同)
  • @ThanasisKapelonis,您不需要清除数据,只需双击拖动指示器,它就会将公式应用于所有后续行,其中每个占位符中的数据在该行的相应列中可用.它将停止数据丢失的位置.如布雷特萨顿所示 (3认同)
  • 我有太多数据无法执行此答案,它失败了,我必须重新加载页面。 (2认同)

pnu*_*uts 55

我觉得你很幸运.请尝试输入B1:

=text(A1:A,"00000")
Run Code Online (Sandbox Code Playgroud)

(非常相似!),但前击球EnterCtrl+ Shift+ Enter.

  • 当我尝试Ctrl + Shift + Enter时,它只是用`ArrayFormula(...)`包围我的公式. (32认同)
  • 感谢分享.为我工作得很好.我认为人们可能缺少的一件事是B1:B部分我与自己挣扎了几秒钟.您必须更换单个列,例如B1,​​并在公式中使用列B1:B列,以使其起作用.到目前为止,这是最好的方法和最有活力的方法. (11认同)
  • @pnuts可能在去年发生了变化,但是ArrayFormula没有将公式向下延伸到B列作为OP中的图像.对我来说,它只是填充所选单元格的值. (4认同)
  • 这对我也有用.感谢评论中的澄清.绊倒我的另一件事是下面的细胞必须都是空的.我想我认为他们会被覆盖. (4认同)
  • @pnuts你应该怎么做?这对我也不起作用.继续得到ArrayFormula( (2认同)

小智 39

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

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

(请注意,如果目标单元格不为空,则替换文本)

  • 一次只适用于一列,但效果很好。如果你想快速完成很多事情,“Ctrl+Shift+Down”将一直选择到当前列的底部,“Ctrl+Enter”就像你说的那样,然后“向上,向右,[向下” ]`(如果您位于第一行,则不需要最后一个)以转到下一列。 (9认同)
  • 在Mac上可使用CMD + Enter。 (3认同)
  • 这是2019年的最佳答案。 (3认同)

小智 12

对于苹果机:

单击第一个包含公式的单元格,然后按 Ctrl + Shift + down_arrow。这将选择工作表上使用的列中的最后一个单元格。


Command + D


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


小智 8

假设您想要在字符串数组中替换某些内容,并且您不希望在整个工作表上执行复制粘贴.

我们以此为例:

  • "A"列中的字符串数组:{apple,banana,orange,...,avocado}
  • 您想要将"a"的字符替换为"x"以包含:{xpple,bxnxnx,orxnge,...,xvocado}

要以干净优雅的方式在整个列(数组)上应用此公式,您可以执行以下操作:

=ARRAYFORMULA(SUBSTITUE(A:A, "a", "x"))
Run Code Online (Sandbox Code Playgroud)

它适用于2D阵列,让我们说:

=ARRAYFORMULA(SUBSTITUE(A2:D83, "a", "x"))
Run Code Online (Sandbox Code Playgroud)


Geo*_*rge 8

找到了另一个解决方案:

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

  • 对于我来说,这似乎比双击更可靠。谢谢! (2认同)

Deb*_*obi 8

这对我有用。

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


gal*_*lki 7

这适用于那些想要快速覆盖列单元格(无需剪切和复制)的人。这与双击单元格框相同,但与双击不同,它在第一次尝试后仍然有效。

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

奖金:

转到最底部内容(仔细检查副本)的快捷方式是Ctrl+ 。要返回,您可以使用Ctrl+但如果您的顶行被冻结,您还必须按Enter几次。


小智 7

阅读这里的答案对我来说不太有效,但结合起来就可以了。以下是我的步骤(Windows、Chrome):

  • 选择包含要应用于该列的公式的单元格(对于整列,确保这是顶部单元格)
  • Ctrl + Shift + 向下(选择下面的所有单元格)
  • Ctrl + D(应用公式)

完毕!

基于:


小智 5

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

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


Val*_*zub 5

只是为了不丢失我的有效答案:

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

  • 好的!注意:步骤 2 应该按住 Shift 键并单击。 (2认同)