如何为 Google 电子表格中的每一行创建一个公式?

Jon*_*nas 80 spreadsheet google-spreadsheets worksheet-function openoffice-calc

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

我该怎么做才能不必在 C 列中为每一行输入新公式?

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

Geo*_*off 92

使用鼠标

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

    拖动框的位置

  3. 单击并拖动该手柄,向下拖动该列(或向右拖动该行)。您也可以双击手柄以自动填充。

    拖动框

  4. 停在您要填充的最后一个单元格

使用键盘

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

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

  • 仅供参考,在excel中,只要相邻单元格有数据,您就可以双击所选单元格的右下角将数据向下复制到列。右下角应该有一个小黑框,你点击它。 (5认同)
  • 在 Mac 上你必须使用`⌘-D`。它也绑定到 Chrome 中的“创建书签”,但仍然有效!此外,如果您配置列中的第一个单元格,您只需单击列标题以选择整个内容,然后按`Ctrl-D` 或`⌘-D` 向下填充。 (4认同)
  • @Kostanos - 请参阅下面的 ceoliphant 答案。它应该做你需要的。 (3认同)

小智 81

Google 表格中更简单的解决方案是在 中输入此公式C1

=ARRAYFORMULA(IF(A5:A,A5:A*(1.6*B5:B),""))
Run Code Online (Sandbox Code Playgroud)

如果在 column 中输入值,它会自动传播到后续行A,从而无需将其复制到每一行。事实上,如果您将其复制到C2,它将被 中的公式的延续自动覆盖C1

重要的部分是:Aand :B,它指定您希望在公式中包含这些整列。这意味着您可以将单个单元格公式=A5*(1.6*B5)应用于整列:

=ARRAYFORMULA(A5:A*(1.6*B5:B)) 
Run Code Online (Sandbox Code Playgroud)

请注意,此收益率不好的结果,其中AB缺少值,所以我们在把它包装IF()声明(见上文)显示什么时,有没有价值。你也可以IFERROR()用来处理不好的结果。


fig*_*ief 13

这是另一种方法,继续删除现在那里的所有公式,然后在 C1 中输入公式,使其对应于 A1 和 B1,然后按 Enter。
所以现在正确的公式就在 C1 中,
现在单击 C1 框,将出现一个边界框,此边界框的右下角有一个黑色方块,
双击此方块,公式将“向下填充”
您会注意到C2对应A2和B2,依此类推。
如果这是您需要的并且我理解正确

  • 在 Google Docs,呃,Drive 中为我工作(在历史上稍晚一些)。 (3认同)

Joh*_*ohn 12

建议的答案适用于小纸张,但我有数千行,使用鼠标或键盘来选择它们太耗时了。

ARRAYFORMULA 方法有效,但它很复杂,迫使我重写公式样式并考虑可能的错误)。

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

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

  • 终于有人和我一样懒了!至少对于 Google 表格来说,这应该是事实上的答案。 (3认同)

Jam*_*ber 6

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

不过我会警告你,这将替换当前单元格中的任何内容,但由于它是一个公式,这应该不是问题。

对我来说这很简单。

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

这将放置公式,更新每个单元格的引用。


sku*_*ube 5

与ceoliphant的答案非常相似,但更直接一点,只需在C1中添加一个公式:

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
Run Code Online (Sandbox Code Playgroud)


Jos*_*nce 5

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

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

在此处输入图片说明