数据区域为A4:C12,条件区域在第一和第二行所在区域内。
一、向左或右查找
返回查找值右侧列的值,如返回“型号”为“100-M”的数量(第10行):
=DGET(A4:C12,"数量",C1:C2)
或:
=DGET(A4:C12,3,C1:C2)
返回查找值左侧列的值,如返回“型号”为“100-M”的商品:
=DGET(A4:C12,"商品",C1:C2)
二、查找同时满足两列条件的值
如返回“商品”为“A”且“型号”为“102-A”的数量,条件区域在A1:B2:
=DGET(A4:C12,3,A1:B2)
三、查找时区分大小写
“商品”为“A”的“型号”有多种,其中“108-D”和“108-d”仅大小写字母不同。要查找“型号”为“108-d”的数量,如果直接用公式:
=DGET(A4:C12,3,D1:D2)
返回错误,这是由于DGET函数不能直接区分大小写,因而有多个满足条件的记录,返回“#NUM!"错误。这时可使用公式结果作为条件,如F2单元格中的公式:
=EXACT(B5,"108-d")
由于EXACT函数比较两个字符串时区分大小写,可利用该函数对比“108-a”与“型号”列单元格的数据。EXACT函数的参数有两个,一个为“108-a”,另一个是“型号”列的首行数据单元格,注意该参数必须为相对引用,如本例的“B5”。这与高级筛选中用公式结果作为条件是一致的。
保留F1单元格为空或输入一个与数据库区域标题不同的文本,将F1:F2区域作为条件即可:
=DGET(A4:C12,3,F1:F2)
四、查找带通配符的值
如查找“型号”为“105-*”的数量,如果以E1:E2为条件使用公式:
=DGET(A4:C12,3,E1:E2)
也会返回“#NUM!”,由于“*”被视作通配符,因而有多个满足条件的记录而返回错误。这时可用公式作为条件,如G2单元格中的公式:
=EXACT(B5,"105-*")
然后将G1:G2作为条件:
=DGET(A4:C12,3,G1:G2)
即可返回正确的结果。

点击长按保存图片,微信识别
扫码立即领取资料