使用 ARRAYFORMULA 将公式应用到整列
使用一个公式计算整列数据
使用 ARRAYFORMULA 将公式应用到整列 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
拖动填充的问题
通常,如果您想在每一行进行计算,就需要写入一个公式,然后向下拖动填充。这样虽然可行,但会留下数百个复制的公式;每当有新数据到来时,您都必须继续向下填充。
Google 表格提供了更好的方法:ARRAYFORMULA。只需在一个单元格中写入一个公式,就能一次性计算整列,并且自动扩展。
ARRAYFORMULA 的作用
ARRAYFORMULA 会告知 Sheets 将公式应用于整个范围,而不是单个单元格。结果会向下溢出,填满输入范围包含的所有行。
因此,您不必重复写入 =A2*B2 100 次,只需写一个引用 A2:A 和 B2:B 的公式,结果就会自动填充。
第一个示例
假设 A 列包含数量,B 列包含价格。要计算每一行的总额,请将这个单独的公式放在 C2 中。
它会一直向下将每个 A 值乘以对应的 B 值,而您无需再操作 C3 及后面的单元格。
=ARRAYFORMULA(A2:A * B2:B)开放范围
请注意,这里使用的是 A2:A,而不是 A2:A100。开放形式表示从第 2 行开始向下的所有行,因此新添加的数据会自动包含在内。
这正是 ARRAYFORMULA 的真正优势:让您的工作表无需为未来的数据调整。添加新订单后,总额会自动出现,无需额外操作。
=ARRAYFORMULA(A2:A + B2:B)空白行问题
开放范围会包含数据下方数千个空行,公式也会尝试计算这些空行,通常会显示 0 或其他多余的值。
请将计算放入 IF 中,检查当前行是否为空。如果 A 为空,就返回空字符串;否则执行计算。
=ARRAYFORMULA(IF(A2:A = "", "", A2:A * B2:B))在同一个公式中添加标题
有一个实用技巧:将列标题包含在数组公式中,让整列都由一个单元格驱动。请将此公式放在 C1 中。
第一部分输出标题文本,其余部分计算每个数据行。; 会将它们垂直堆叠成一个溢出列。
=ARRAYFORMULA({"Total"; IF(A2:A = "", "", A2:A * B2:B)})跨行连接文本
ARRAYFORMULA 不仅适用于数学计算,也适用于文本函数。要根据名字和姓氏生成一列全名,请将两个范围连接起来。
这样可以一次性将 A 中每一行的名字与 B 中对应的姓氏连接起来,并在中间加入空格。
=ARRAYFORMULA(A2:A & " " & B2:B)已经支持溢出的函数
有些函数本身就能处理数组,不需要使用 ARRAYFORMULA。SUMIF、FILTER、UNIQUE 和 QUERY 已经可以直接处理范围。
通常只有当单元格操作(例如 *、& 或 LEFT)需要应用到每一行时,您才需要使用 ARRAYFORMULA。
封装文本函数
LEFT、UPPER 和 TRIM 等函数通常只作用于一个单元格。在 ARRAYFORMULA 中,它们则会作用于整个范围。
这样可以一次性将 A 列中的所有电子邮件转换为大写。如果没有这个封装,您只能转换第一个单元格。
=ARRAYFORMULA(UPPER(A2:A))键盘快捷键
您不必每次都输入函数名称。在 Google 表格中,先输入带有范围引用的公式,然后按下Ctrl 加 Shift 加 Enter(在 Mac 上按 Cmd 加 Shift 加 Enter)。
Sheets 会自动为您将公式封装在 ARRAYFORMULA 中。这是将向下拖动的公式快速转换为单个溢出公式的方法。
常见问题:范围大小不一致
对于逐元素操作,各个范围应具有相同的高度。将 A2:A 与 B2:B50 混用,可能会导致错误或结果错位。
请让两边都使用开放范围(A2:A 和 B2:B),或者都固定为相同的大小。保持一致,才能让输出逐行对齐。
=ARRAYFORMULA(IF(A2:A = "", "", A2:A * B2:B))快速检查
测试您对 ARRAYFORMULA 的掌握情况。
回顾
您已经学会使用一个公式计算整列:
ARRAYFORMULA会对整个区域执行运算- 像
A2:A这样的开放式区域会自动包含新行 - 使用
IF(A2:A = "", "", ...)包裹公式即可跳过空白单元格 - 它适用于数学运算、文本连接以及
UPPER等函数 - 按 Ctrl/Cmd 加 Shift 加 Enter 会自动为您添加外层公式
一个单元格,生成一列动态数据。
=ARRAYFORMULA({"Total"; IF(A2:A = "", "", A2:A * B2:B)})常见问题解答
「使用 ARRAYFORMULA 将公式应用到整列」课时是免费的吗?
是的 — 「使用 ARRAYFORMULA 将公式应用到整列」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 ARRAYFORMULA 将公式应用到整列」这节课中我会学到什么?
使用一个公式计算整列数据 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 ARRAYFORMULA 将公式应用到整列」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 QUERY 查询数据
- 在 QUERY 中排序和分组
- 使用 ARRAYFORMULA 将公式应用到整列
- 使用 IMPORTRANGE 提取数据