我有超过 10,000 行数据,我需要对其中一列数据进行一些计算。我已经在一个单元格中进行了计算,现在需要填写计算公式和所有单元格。
通常我只是使用键盘选择单元格,然后按Ctrl+D填充单元格。但是,现在我必须重复执行此操作,并且很难继续选择每个文件的 5000 行。有没有更简单的方法,我可以使用键盘指定范围?也许甚至可以使用宏,因为所有文件的长度都是固定的
此外,由于我因医疗原因难以使用鼠标,因此我没有测试这个特定的解决方案这需要单击一个非常小的填充柄。也许可以使用键盘解决这个问题,或者我可以创建一个宏,它会自动单击所选单元格的填充柄 - 如果有办法,请告知。
答案1
假设数据在列中A
,公式在列中B
:
- 输入公式
B1
- 复制单元格
B1
- 使用箭头键导航到列中的任意单元格
A
- 按Ctrl+Arrow Down
- 按Arrow Right(您现在应该位于列底部的空白单元格中
B
) - 按Ctrl++ShiftArrow Up
- 粘贴 ( Ctrl+ V)
答案2
重复:
- Excel 无需鼠标即可自动填充系列(仅键盘)
- 有没有办法使用键盘快捷键自动填充 Excel 2013 中的单元格?
- Excel 自动完成和自动填充键盘快捷键
- Excel 自动填充快捷方式
- 在 Excel 中不使用鼠标拖动公式的快捷方式是什么?
- 在 Excel 中使用公式填充大范围,无需鼠标拖动来扩展
但是你甚至不需要将公式填充到所有单元格。使用多结果数组公式会更好。只需像平常一样输入公式,但用范围替换单元格(例如,B1
用B1:B10000
。这有点过于简单,但这就是想法,它适用于大多数简单情况,请阅读下文了解更多详细信息),然后按Ctrl+ Shift+Enter。然后公式将立即应用于表格中的所有单元格,只需很少的按键即可
更新:
较新的 Excel 版本将自动使用数组公式当有新数据行时向下填充,这样你就不需要手动执行此操作
从 2018 年 9 月 Office 365 更新开始,任何可以返回多个结果的公式都会自动将它们向下溢出或溢出到相邻单元格中。这种行为变化还伴随着几个新的动态数组函数。动态数组公式,无论是使用现有函数还是动态数组函数,都只需输入到单个单元格中,然后按 Enter 确认。以前,旧式数组公式需要先选择整个输出范围,然后使用Ctrl+ Shift+确认公式Enter。它们通常被称为 CSE 公式。
数组公式有许多优点:
为什么要使用数组公式?
如果您有在 Excel 中使用公式的经验,那么您就会知道您可以执行一些相当复杂的操作。例如,您可以计算任意给定年数内的贷款总成本。您可以使用数组公式执行复杂的任务,例如:
- 计算单元格区域所包含的字符数。
- 仅对满足特定条件的数字求和,例如某个范围内的最低值或介于上限和下限之间的数字。
- 对一系列值中的每个第 n 个值求和。
数组公式还具有以下优点:
- 一致性:如果您单击从 E2 向下的任何单元格,您都会看到相同的公式。这种一致性有助于确保更高的准确性。
- 安全:您无法覆盖多单元格数组公式的组件。例如,单击单元格 E3 并按 Delete。您必须选择整个单元格范围(E2 到 E11)并更改整个数组的公式,或者保留数组原样。作为一项额外的安全措施,您必须按Ctrl+ Shift+Enter确认对公式的更改。
- 更小的文件大小:您通常可以使用单个数组公式,而不是多个中间公式。例如,工作簿使用一个数组公式来计算 E 列中的结果。如果您使用标准公式(例如 =C2*D2、C3*D3、C4*D4…),则需要使用 11 个不同的公式来计算相同的结果。
由于访问模式已知,数组公式也更快。现在,无需单独进行 11 种不同的计算,而是可以将它们矢量化并并行完成,从而利用 CPU 中的多个内核和 SIMD 单元
例如,如果您希望 D 列中的单元格包含 B 和 C 单元格的乘积,而 E 列包含 B 和 C 单元格的总和,则无需使用D1 = B1*C1
和E1 = B1 + C1
并向下拖动,只需分别在 D1 和 E1 中输入以下公式,然后按Ctrl+ Shift+Enter
=B:B*C:C
=B:B + C:C
在 Google 表格中,你需要使用ARRAYFORMULA
功能而不是像 Excel 中的快捷方式
=ARRAYFORMULA(B:B*C:C)
=ARRAYFORMULA(B:B + C:C)
之后公式将自动应用于整个柱子立即计算,无需拖动任何内容。X:X
指的是 X 列。如果您只想包括从第 3 行到末尾的内容X3:X
,请使用。或者,如果您只想计算从 X3 到 X10003 的单元格的结果,则使用X3:X10003
。行可以使用相同的语法,即第 1 行使用 1:1。以下是 Excel 文档中的另一个示例,用于计算每列中的乘积
数组公式是一个非常强大的工具。但是要小心使用。每次需要编辑时,一定不要忘记按Ctrl++ShiftEnter
更多信息请阅读创建数组公式。 也可以看看
如果您仍然想使用普通公式,请使用Ctrl+Enter而不是Ctrl++ Shift。Enter它会将公式填充到选择中的所有单元格,并根据需要更改单元格引用
答案3
按Alt+F11打开 VBA 屏幕。此代码应复制公式,只需将范围更改为正确的单元格即可
Range("B1:B10000").FillDown
编辑。或者只需使用 VBA 添加公式
ActiveSheet.Range("B1:B10000").formula = "=A2+2"
答案4
我遵循的一个更简单的方法是双击填充柄。在列(第一行)中输入公式,然后双击填充柄以将公式计算的值复制到整个列(无论有多少行)。