如何让Excel 2010用公式自动填充新行?
我可以发誓,我见过这种行为,Excel会自动在新插入的行中填入与上一行相同的公式。
我知道这可以通过一些VBA来实现,但如果可能的话,我想找到是什么触发了这种情况的发生(除非我一直在做梦)。有谁知道这是如何做到的?
我可以发誓,我见过这种行为,Excel会自动在新插入的行中填入与上一行相同的公式。
我知道这可以通过一些VBA来实现,但如果可能的话,我想找到是什么触发了这种情况的发生(除非我一直在做梦)。有谁知道这是如何做到的?
这不是梦,你说的对。Excel的人工智能会触发这些东西 不仅仅是对表格的触发 只是举个小例子来演示一下。
A
列中填入越来越多的数字,例如: 1 2 3 4 5
=A1*10
然后自动填写数字列表,得到: 1 10 2 20 3 30 4 40 5 50
6
下面的下一行输入5
(或任何数字)(在上下文中应该是A6
),然后按TAB或ENTER键–就像你平时做的那样。这不应该只发生在公式上–格式化可能也会被自动应用,例如,当你在数据集上添加了一个新的列,而你的 “标题"(第一行)有特殊的格式化(黑色填充/白色文本),并开始在那里输入值–很可能会以同样的方式着色。
我不能提供完整的情况列表,但我想你已经得到了线索!)。)
你可以用数组公式完全避免自动填充功能。只要像正常输入公式,但在每个单元格引用的末尾追加:column
,然后按Ctrl+Shift+Enter。然后,该公式将立即应用于列中的所有单元格,而无需拖动任何东西
较新的Excel版本将在有新数据行时自动使用数组公式向下填充
从2018年9月更新的Office 365开始,任何可以返回多个结果的公式都将自动将它们向下溢出,或跨入相邻的单元格。这一行为变化还伴随着几个新的动态数组函数。动态数组公式,无论是使用现有函数还是动态数组函数,都只需要在单个单元格中输入,然后按Enter键确认即可。此前,传统的数组公式需要先选择整个输出范围,然后用Ctrl+Shift+Enter确认公式。它们通常被称为CSE公式。
如果你使用的是旧版本的Excel,或者想了解更多关于数组公式的知识,那么请继续阅读
例如在D3中放入=B3:B + 2*C3:C
,然后按Ctrl+Shift+Enter键,相当于输入=B3 + 2*C3
,然后在表格中从第3行开始一路向下拖动
这样输入速度很快。但有一个缺点,就是最后(当前表外)未使用的单元格仍然会被计算并显示0。有一个简单的方法 隐藏0s 。然而更好的方法是将计算限制在表的最后一列。知道在数组公式中可以使用X3:X101
只应用于X3到X101的单元格,我们可以使用 INDIRECT
函数 来达到同样的效果
-在表格外的某个单元格中输入=LOOKUP(2, 1/(A:A <> ""), A:A)
,找到表格中的_最后一个非空白单元格,并将其命名为LastRow
。或者当表的第一行是3时使用=COUNTA(A3:A) + 2
-然后用B3:B
代替=INDIRECT("B3:B" & LastRow)
例如,如果您希望D列中的单元格包含B和C单元格的乘积,而E列包含B和C的和。而不是使用D3 = B3*C3
和E3 = B3 + C3
并向下拖动,你只需将下面的公式分别放在D3和E3中,然后按Ctrl+Shift+Enter
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
从现在开始,每当你向新行添加数据时,表将自动更新
阵列公式非常快,因为数据访问模式已经已知。现在不用再分别做100001个不同的计算,而是可以 矢量化和 并行完成,利用CPU中的多个核和SIMD单元。它还具有以下优点。
- 一致性:如果你点击E2以下的任何一个单元,你看到的都是相同的公式。这种一致性可以帮助确保更高的准确性。
- 安全:您不能覆盖多单元格数组公式中的一个组件。例如,点击单元格 E3 并按删除键。你必须选择整个单元格范围(E2到E11)并更改整个数组的公式,或者保持数组原样。作为一个额外的安全措施,你必须按Ctrl+Shift+Enter来确认公式的改变。
- 较小的文件大小:你经常可以使用一个数组公式代替几个中间公式。例如,工作簿使用一个数组公式计算 E 列中的结果。如果使用标准公式(如
=C2*D2
、C3*D3
、C4*D4
……),您将使用 11 个不同的公式来计算相同的结果。
更多信息请阅读
这是Excel的默认行为,如果你在一个Table中的空白列中输入一个公式。要得到这个结果,你需要插入一个Table:
让excel自动帮你完成这个任务的一种方法是,将所需的公式复制粘贴到多行中。如果你一个一个地做,并不清楚此后每一行都要自动完成复制粘贴。如果你在一个区块中复制粘贴,excel就会接替你,自动为以后的行复制粘贴公式。