任意方向查数据
如下图所示,要根据D列的姓名,在B列进行查询并返回A列对应的部门。E2单元格公式为:
=XLOOKUP(D2,B:B,A:A,"无记录")
第一参数是查询的内容,第二参数是查询的区域,第三参数指定要返回哪一列的内容。第四参数指定在查找不到查询值时,返回什么内容。
公式的意思就是在B列单元格区域中查找D2单元格的姓名,并返回A列单元格区域中与之对应的部门。如果找不到某个姓名,就返回“无记录”。
XLOOKUP函数的查询区域和返回区域是分开的两个参数,使用时不需要考虑查询的方向问题,可以实现任意方向的数据查询。
随机安排顺序
如下图,希望对A列的应聘人员随机安排面试顺序。
先将标题复制到右侧的空白单元格内,然后在第一个标题下方输入公式:
=SORTBY(A2:B11,RANDARRAY(10),1)
RANDARRAY函数的作用是生成随机数数组,本例公式使用RANDARRAY(10),表示生成10个随机数的数组。
SORTBY函数的排序区域为A2:B11单元格中的数据,排序依据是按随机数数组升序排序。因为公式每次刷新所生成的随机数数组是不确定的,所以A2:B11单元格中的数据也会得到随机的排序效果。
如下图所示,要计算部门为“大食堂”的所有商品总价,F2单元格输入以下公式即可:=SUMPRODUCT((A2:A12="大食堂")*C2:C12*D2:D12)先使用(A2:A12="大食堂"),判断A列的部门是不是等于指定的部门,得到一组由TRUE和FALSE构成的逻辑值。逻辑值可直接参加四则运算,因此用乘号分别乘以C列的单价和D列的数量。如果(A2:A12="大食堂")这部分结果中的某个元素是逻辑值TRUE,就相当于1,而逻辑值FALSE的作用就相当于是0。换句话说,就是符合指定部门的用1*单价*数量,不符合指定部门的用0*单价*数量,最后再将各个乘积进行求和。