Excel通过INDEX和MATCH函数在区间范围中进行查询实例教程

原创 kaixinit  2019-05-04 22:04  阅读 2,030 次

例如:行数值55是在46-65之间,列的数值为7,行列交叉的数值得到的结果为15。

单元格B13=INDEX(B2:E8,MATCH(B12,$A$2:$A$8,1),MATCH(B11,{0,21,46,66},1))

(1) MATCH(B12,$A$2:$A$8,1)

因为列的内容是以单一数值表示,列的数字必须为数值,并不是文本,直接选取范围,比对后得到一个位置,传回一个数值。

(2) MATCH(H1,{0,21,46,66},1)

同第(1)式,在 MATCH 函数中用数组常数,取每个范围的第一个数值当为数组项目,再以参数『1』取「小于」(或是参数『-1』取「大于」)。比对后得到一个位置,传回一个数值。

(3) INDEX(B2:D5,第(1)式,第(2)式)

在 INDEX 函数中以第(1)式和第(2)式的内容代入,以栏列交叉的位置传回对应的数值,如调换位置会发生错误。

(4)IFERROR(),0)表示#N/A错误值则返回为0,如不想显示0数值,自定义单元格式:[=0]"";#,##0.00即可。

例如:行数值55是在46-65之间,列数值7在6-8之间,栏列交叉对应得到11。

单元格B10=IFERROR(INDEX(B2:E5,MATCH(B9,{1,3,6,9},1),MATCH(B8,{0,21,46,66},1)),0)

(1) MATCH(H2,{1,3,6,9},1)

因为列的内容是以区间表示,所以我们在 MATCH 函数中用常数数组,取每个范围的第一个数值当为数组项目,再以参数『1』取「小于」(或是参数『-1』取「大于」)。比对后得到一个位置,传回一个数值。

(2) MATCH(H1,{0,21,46,66},1)

同第(1)式,在 MATCH 函数中用数组常数,取每个范围的第一个数值当为数组项目,再以参数『1』取「小于」(或是参数『-1』取「大于」)。比对后得到一个位置,传回一个数值。

(3) INDEX(B2:D5,第(1)式,第(2)式)

在 INDEX 函数中以第(1)式和第(2)式的内容代入,以栏列交叉的位置传回对应的数值,如调换位置会发生错误。

(4)IFERROR(),0)表示#N/A错误值则返回为0,如不想显示0数值,自定义单元格式:[=0]"";#,##0.00即可。

本文地址:http://www.kaixinit.com/info/office/2366.html
版权声明:本文为原创文章,版权归 kaixinit 所有,欢迎分享本文,转载请保留出处!

发表评论


表情