如何为Google SpreadSheet中列的每一行创建公式?


76

我用三列。A,B和C。在CI列中=A1*(1.6*B1),每行都有一个公式,然后=A2*(1.6*B2)在C2中有下一行。

我该怎么做,而不必在每一列的C列中输入新公式?

我在Google Docs SpreadSheet和OpenOffice SpreadSheet中都使用了它。

Answers:


89

使用鼠标

  1. 单击要重复其公式的单元格
  2. 右下角将出现一个黑色方形“句柄”

    拖动框的位置

  3. 单击并拖动该手柄,将其向下拖动(或在整个行中向右拖动)。您也可以双击手柄以自动填充。

    拖动盒子

  4. 在您要填写的最后一个单元格处停止

使用键盘

  1. 将光标移到要重复其公式的单元格
  2. 保持 shift
  3. 按住时,down反复按以选择要填充的其余单元格范围
  4. 到达底部时,松开shift然后按CTRL+ D(如果在右侧填充,请使用CTRL+ )(使用此方法还可以保留注释,这与鼠标解决方案不同。)R

在这两种情况下,您所做的都称为“填充”。每个(?)电子表格程序都支持它。


5
仅供参考,在excel中,只要相邻单元格中有数据,您就可以双击所选单元格的右下角以将数据向下复制到该列中。右下角应该有一个小黑框,您单击它。
skub 2011年

1
@BorisCallens,填充快捷方式在Ctrl-/弹出帮助中。
anatoly techtonik 2014年

1
我的范围很广,确实需要最快的方法在所有行上复制公式。右下角的双击在Google文档中
不起作用

3
@Kostanos-请参阅下面的ceoliphant答案。它应该做您需要的。
杰夫2014年

3
在Mac上,您必须使用⌘-D。它也绑定到Chrome中的“创建书签”,但仍然有效!另外,如果您配置列中的第一个单元格,则只需单击列标题即可选择整个内容,然后按Ctrl-D⌘-D进行填写。
jchook

77

在Google表格中,一个更简单的解决方案是在C1

=ARRAYFORMULA(IF(A5:A,A5:A*(1.6*B5:B),""))

如果在column中输入一个值,它将自动传播到后续行A,而无需将其复制到每一行。实际上,如果将其复制到C2,则它将继续由中的公式自动覆盖C1

重要的部分是:A:B,它们指定您要在公式中包括所有这些列。这意味着您可以使用以下方法将单个单元格公式=A5*(1.6*B5)应用于整个列:

=ARRAYFORMULA(A5:A*(1.6*B5:B)) 

请注意,这会在位置AB缺少值的地方产生不良结果,因此我们将其包装在一条IF()语句中(见上文),以在没有值时不显示任何内容。您也可以IFERROR()用来处理不良结果。


这很棒。我想知道如果要将其复制到每个备用行时如何修改?
shparekh

13

这是另一种方法,继续删除当前存在的所有公式,然后在C1中键入与A1和B1相对应的公式,然后按Enter。
所以现在正确的公式就在C1中,
现在单击C1框,将出现一个边界框,此边界框的右下角有一个黑色正方形,
双击该正方形,公式将“填满”
您会注意到C2对应于A2和B2,依此类推。
如果这是您需要的,我理解正确


1
我刚才注意到您使用的werent Excel中,这可能不是那么合作
fightermagethief

+1谢谢,这很好,但它仅对我适用于OpenOffice,不适用于Google Docs。
乔纳斯(Jonas)

3
在Google文档(例如云端硬盘)中为我工作(在历史上稍晚一些)。
罗伯特·图珀洛-施内克

现在可以在Google表格中使用。找到这个问题后,我才尝试过。
肖恩·佩里

9

建议的答案适用于小纸,但是我有成千上万行,并且使用鼠标或键盘选择它们非常浪费时间。

ARRAYFORMULA方法可以工作,但是很复杂,迫使我重写公式样式并考虑可能的错误)。

解决方案非常简单,只需2秒钟即可完成:

  1. 在第一个CELL中编写新公式。
  2. 单击该单元格,然后按CTRL + C(复制该单元格)
  3. 单击列标题(例如A)以选择整个列
  4. CTRL + V->将单元格公式粘贴到整个列中
  5. 利润

3
终于有人像我一样懒!对于Google表格,至少应该是事实上的答案。
汤姆(Tom)

仅在其他两个单元格填充后才能执行此操作,我在处理完之后会得到一整列0的内容
TheHamstring

5

我发现所有这些解决方案也非常令人沮丧和困惑。

我会警告您,这将替换当前单元格中的所有内容,但是由于它是公式,所以这应该不是问题。

对我来说,这很简单。

  1. 单击要复制其公式一次的单元格(选择它)
  2. 复制单元格的内容(Ctrl+ C在Windows,cmd+ C在MacOS)
  3. 按住Shift+ Ctrl+ Down(选择该行中的所有单元格)
  4. 现在,在选择所有单元格后粘贴公式。

这会将公式(随每个单元格更新)添加到引用中。


4

写完论坛后,只要相邻单元格中有数据,就可以双击带有蓝色框的所选单元格的右下角,将数据向下复制到该列中。

当您有7,000行工作表时,这可以节省大量时间。

在此处输入图片说明


为什么现在不起作用?
fdrv

这是最好的答案。双击右下角的框以自动填充其余部分
helsont

仅当下面的单元格内部没有数据时,此方法才有效。但这是迄今为止最简单的解决方案。
Dan Walters

3

PS我正在OpenOffice中工作,现在我看到它也可以通过简单地复制单元格的内容并将其粘贴到其他单元格中来工作。公式会自动调整到每一行!(为避免自动调整,请在行号和列号的名称前加上$前缀)。


2

你可以通过选择标题选择完整的C柱和粘贴公式=A1*(1.6*B1)。它将适用于每一行。

无需选择并拖动即可复制到每个单元格。


2
如何将其粘贴到所有单元格?在我这样做时,公式仅复制到第一个单元格
Moisei 2013年

2

与ceoliphant的答案非常相似,但更为直接,只需向C1添加一个公式即可:

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
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.