将公式应用于整个列


96

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

=TEXT(A1,"00000")

像这样:

在此处输入图片说明

我希望使用上面的公式转换B列中的每个单元格。但是我有超过40,000行,因此无法向下拖动公式并将其应用于整个B列。

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

Answers:


89

我认为这是一个较新的功能,但对我有用:

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

希望能帮助到你。


20
这是对问题的正确答案。双击“拖动指示器”(右下角)会将公式复制到所有单元格。确保先清除列数据,然后仅将公式应用于一个。上面关于“ ArrayFormula”的答案似乎能够将多个单元格应用于一个公式,而这并不是OP想要的。
塔纳西斯·卡佩洛尼斯

3
感谢分享。它对我来说很好用,但是我更喜欢使用ArrayFormula函数,这是因为与您的方法基本上将完全相同的公式复制到每个单元格不同,ArrayFormula将更加动态并且可以更轻松地编程。
Shahab Yarmohammadi

3
@ThanasisKapelonis,您不需要清除数据,只需双击拖动指示器,它将公式应用于所有后续行,其中每个占位符的数据在该行的相应列中都可用。它将在数据丢失的地方停止。如布雷特·萨顿(Brett Sutton)所示
dresh

2
我有太多数据无法执行此答案,它失败了,我必须重新加载页面。
丹尼尔·瑞安

1
尽管这可能是解决问题的宝贵提示,但好的答案也可以证明解决方案。请编辑以提供示例代码以显示您的意思。另外,也可以考虑将其写为注释。
Toby Speight

58

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

=text(A1:A,"00000")

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


32
当我尝试按Ctrl + Shift + Enter时,它只是用包围我的公式ArrayFormula(…)
binki 2014年

2
@pnuts什么意思?这对我也不起作用。继续获取ArrayFormula(
JayPex

4
@pnuts可能在去年发生了变化,但是ArrayFormula并未将公式向下扩展到B列作为OP中的图像。对我来说,它只是填充所选单元格的值。
2015年

11
感谢分享。对我来说真的很好。我认为人们可能会缺少的一件事是B1:B部分,我自己奋斗了几秒钟。为了使其起作用,您必须用公式中的列B1:B替换单个列,例如B1。到目前为止,这是最好的方法,也是最动态的。
Shahab Yarmohammadi

4
这也为我工作。感谢您在评论中的澄清。使我震惊的另一件事是,下面的单元格必须全部为空。我想我以为它们会被覆盖。
LOAS

52

看来其他一些答案已经过时了,但是对我来说这行得通:

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

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


7
在Mac上可使用CMD + Enter。
StapleGun

4
这是2019
快乐鸟

1
该答案适用于范围更广的公式,应为公认的答案
phlare

1
一次只能处理一列,但效果很好。如果您想快速完成很多工作,请Ctrl+Shift+Down按照Ctrl+Enter您所说的那样一直选择到当前列的底部,然后Up, Right, [Down](如果您在第1行,则不需要最后一个)下一栏。
亚当·巴恩斯

作品在2020年就像一个魅力。谢谢!
nxmohamad

8

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

让我们以这个为例:

  • “ A”列中的字符串数组:{苹果,香蕉,橙子,...,鳄梨}
  • 您想将“ a”的字符替换为“ x”以具有:{xpple,bxnxnx,orxnge,...,xvocado}

要以一种简洁优雅的方式将此公式应用于整个列(数组),可以执行以下操作:

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

假设它也适用于2D阵列:

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

8

找到了另一个解决方案:

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

2
对于我来说,这似乎比双击更可靠。谢谢!
伊万

4

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

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

奖金:

转到最底端内容(仔细检查副本)的快捷方式是Ctrl+ 。要向上备份,可以使用Ctrl+,但是如果最上面的行被冻结,则还必须按Enter几次。


1
这是最直接的技巧。谢谢!
Sopia Alfred

0

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

。例如

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

如果以上是电子表格,则使用“ b”单元格上的双击拖动指示器将填充第2行,但不会填充第三或第四行。


1
如果您尝试通过使用“双击拖动指示器”将公式应用于Excel中筛选集中的行,则每次行的序列号(即行号)跳转时,公式都会停止。1、2、3(如果它们按顺序出现)将应用公式,但是如果行号为1、2、3。行号后出现5。3(由于过滤),然后是行号。5不会得到公式appled。在这种情况下,您必须从第n行的单元格中复制。3并将其粘贴到行号中。5,然后使用相同的双击。是的,Excel Sucks
dresh

尽管这可能是解决问题的宝贵提示,但好的答案也可以证明解决方案。请编辑以提供示例代码以显示您的意思。另外,也可以考虑将其写为注释。
Toby Speight

0

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

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



-2

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

注意:如果您应用了过滤器,或者下面的单元格中已经存在某些内容,这将不起作用。


这是正确的,但是,您必须确保没有数据在包含公式的单元格下面的单元格中。
BinaryJoe01

尽管这可能是解决问题的宝贵提示,但好的答案也可以证明解决方案。请编辑以提供示例代码以显示您的意思。另外,也可以考虑将其写为注释。
Toby Speight
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.