数组的隐式交集

发布时间 2023-07-01 18:55:30作者: 熬肥妖

问题:在另一个表中引用“=轮休!$B$2:$G$5="休"”

结果却不正确

解决:

公式本身没有问题,但是在输入的时候,组合键不应使用<Ctrl+Enter>,而是<Ctrl+Shift+Enter>,三键的结果才是数组。

补充:

<Ctrl+Enter>相当于复制,是在单元格中批量录入相同内容的组合键。

此处使用了绝对引用,理论上所有公式的结果都应完全一样,但实际却有差异,由数组的隐式交集所致。

下图中,G2:G8公式完全一样,结果却不同;B10:E10公式完全一样,结果也不同。

每一个单元格里的公式,实际都是一个数组,即实际内容是多个值,而所显示出来的,是与数据源交集的单元格里的内容,例如G2结果是G2所在行与B2:B7单元格区域交集的B2单元格,以此类推,而G8所在行与B2:B7已无交集,所以返回错误值。

横向亦是同理。

现实中不主张使用这一写法,尤其是有些函数参数不支持数组的,例如以下写法:

虽然上图所显示结果均正确,但如果查询结果与查询标题1不在同一行,隐式交集公式就会得出错误结果。