多条件查询一直是困扰EXCEL使用者的难题之一,今天就把经常用于多条件查找的DGET、SUMIFS、SUMPRODUCT、LOOKUP、OFFSET、VLOOKUP六个函数综合解。
示例数据:
关键步骤提示
第一种:DGET函数
在G2单元格输入公式:“=DGET(A1:C13,C1,E1:F2)”
DGET(构成列表或数据库的单元格区域, 结果数据的列标签, 指定条件的单元格区域);
在本题中的解释:
=DGET(数据库,销量列标签,条件区域)。
第二种:SUMIFS函数
在G5单元格输入公式:“=SUMIFS(C2:C13,A2:A13,E5,B2:B13,F5)”
第三种:SUMPRODUCT函数
在G8单元格输入公式:“=SUMPRODUCT((A2:A13=E8)*(B2:B13=F8)*C2:C13)”其中,各个数组返回值:
三个数组对应位置数据乘积求和。
注意:SUMPRODUCT函数只能用于查询“数值”单元格。
第四种:LOOKUP函数
在G11单元格输入公式:“=LOOKUP(1,0/((A2:A13=E11)*(B2:B13=F11)),C2:C13)”
注意要点:
excel图表这几个公式,你一定要会
只要你用到Excel数据处理,这几个公式就一定要会: IF判断等级 评定成绩:如果大于等于85为优秀,大于等于70小于85为良好,大于等于60小于70为合格,小于60为不合格。 公式: =IF(D3>=85,'优秀',IF(D3>=70,'良好',IF(D3>=60,'合格','不合格')))
LOOKUP函数用“二分法”进行查找。
返回小于等于lookup_value(查找值)的最大值。
Lookup_vector(查找区域)中如果有“错误值“,那么LOOKUP函数在查找时将会忽略错误值。
“=LOOKUP(1,0/((A2:A13=E11)*(B2:B13=F11)),C2:C13)”
在 {#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}里查找1,忽略错误值,结果返回0对应位置的C2:C13中的数据。
第五种:OFFSET函数
在G14单元格输入公式:“=OFFSET(C1,MATCH(E14&F14,A2:A13&B2:B13,0),)”
本公式的含义是:以C1为基准,公式向下偏移MATCH(E14&F14,A2:A13&B2:B13,0)行。
其中E14&F14和A2:A13&B2:B13分别对应的结果:
公式结束时需按“CTRL SHIFT ENTER”组合键。
第六种:VLOOKUP函数
在G14单元格输入公式:“=VLOOKUP(E17&F17,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)”
其中“IF({1,0},A2:A13&B2:B13,C2:C13)”是生成一新的数据区域:
“=VLOOKUP(E17&F17,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)”是指在新的区域中精确匹配第2列的数值。
公式结束时需按“CTRL SHIFT ENTER”组合键。
最终结果:
INDEX SMALL完成乾坤大挪移:满足条件的数据自动“跑到”其它工作表
学习群里,有朋友提出的问题: 如下两个数据表,一个是“全部”工作表,一个是“已对”(已经核对)工作表,如何使得“全部”工作中,每核对一条,数据会自动从“全部”工作表“自动”跑到“已对”工作表,即: 结果如下动图: 公式实现 在A2单元格输入公式: =INDEX(全部!A:A,SMALL(IF(全部!$