自动返回节气功能
什么是动态数组公式?我们来看看官方的解释:
Excel返回一组值(也称为数组),这些值返回到相邻的单元格。这种行为称为“溢出”。可以返回可变大小数组的公式称为动态数组公式。返回溢出成功的数组的当前公式可以称为溢出数组公式。
这里提到一个概念“溢出”。什么是“溢出”?简单来说,现在的公式可以侵入别人的领地,有自动扩张的功能。
比如下图所示的这个非常简单的产品销售表,传统的计算销售额的方法,我们是逐行计算,第一个公式只是把产品A的销售量和单价相乘,然后把公式填到整列。
而如果第一行的公式引用了多个单元格,比如本例中的B3:B7*C3:C7,其返回结果将包含五行,那么公式将自动从E3单元格溢出到E7单元格,这就是动态数组公式。Excel将使用蓝色外边框线来标记溢出的公式。
有了这种溢出数组行为,许多过去需要通过非常复杂的公式才能完成的计算现在都简单地实现了。比如下图的99乘法表,在完成这个表的计算之前,我们需要锁定地址,然后手动向右拉,双击填在底部。现在很简单,只需选择一个单元格,写一个公式,不需要锁定地址,只需按回车键,一切搞定。厉害!
如果希望第一种情况的销量和单价的数据被更新,右侧的销量可以自动扩展到新的数据,只需要对明细表的表结构做一个小的设置,即在数据表中添加“应用表格格式”。以下是官方解释:
如果您正在编写一个动态数组公式来操作数据列表,将它放在Excel表中,然后使用结构化引用来引用数据是很有用的。这是因为在表中添加或删除行时,会自动调整结构化引用。
比如我想从下图左边有重复信息的部门列表中提取一个不重复的部门列表。一种方法是在数据页签中使用删除重复项,但是如果数据更新了,就不得不再次删除,很多时候我们想要的非重复列表都是在函数的过程中使用的。这时候我们可以利用Office 365新增的独特功能,得到一个动态的不重复列表。
让我们将开始选项卡中的“应用表格格式”添加到左侧的部门列表中,使其成为一个“表格”。然后可以使用UNIQUE函数提取这个表中的唯一值,因为结果是多个值,所以会溢出到底部的相邻单元格中。并且当我们向部门列表添加数据时,这些数据会动态更新。
之后,我们使用右边的COUNTA函数来统计动态部门的数量。函数的数据源应该写什么才能让这个返回结果动态更新?我们只需要在函数的参数中输入G2#就可以了,G2#表示这个动态结果以G2开头的所有数据。因此,如果更新E列部门列表的数据,G列非重复部门列表的动态数组公式结果会自动更新,而G列数据更新,I列相关部门数也会更新,真正做到环环相扣,联动更新。
使用动态数组公式时有两点需要注意:
1.只能编辑溢出区第一个单元格的动态数组公式。因为只有这个单元格被写入公式。其他溢出单元格可以看到公式(灰色),但这只是“图像”,不能编辑。
2.要溢出的位置无法存储数据。如果出现这种情况,Excel会返回?#说吧!错误,表示有堵塞。如果删除“阻塞”,公式会像预期的那样溢出。