参考下图,如何在一个数据表中,指定栏、列数值,在区间范围中查询?
例如:栏数值55是在46-65之间,列数值7在6-8之间,栏列交叉对应得到11。
【公式设计与解析】
单元格H3:=INDEX(B2:D5,MATCH(H2,{1,3,6,9},1),MATCH(H1,{0,21,46,66},1))
(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)式的内容代入,以栏列交叉的位置传回对应的数值。
閱讀更多 老徐漫談 的文章