Offset多维引用

发布时间 2023-10-29 13:28:18作者: 熬肥妖

问题:为何使用Vlookup套Offset查找三个表中对应结果会出错

公式:=VLOOKUP(C12,OFFSET(C4,,{0,3,6},3,2),2,)

Offset,以C4为起点,向右分别偏移0、3、6,产生新单元格区域为3行两列,这一结果为多维引用,无法在同一单元格内正常显示

Vlookup函数无法提取多维引用的结果

多维引用解法1:

=SUM(SUMIF(OFFSET(C$4,,{0,3,6},3),C12,OFFSET(D$4,,{0,3,6},3,2)))

Offset,以C4为起点,向右分别偏移0、3、6,产生新单元格区域为3行1列,这一结果为多维引用,共三个平面,即引用C4:C6的平面、引用F4:F6的平面和引用I4:I6的平面

另一个Offset同理,结果为引用D4:D6、G4:G6和J4:J6的三个平面

Sumif提取各平面中满足条件为C12的结果

Sum将由Sumif计算的结果进行求和

多维引用解法2:

=SUM(IF(T(OFFSET(B$3,{1;2;3},{1,4,7}))=C12,N(OFFSET(C$3,{1;2;3},{1,4,7}))))

Offset,以B3为起点,向下、向右偏移,结果为多维引用,共9个平面,分别是C4、C5、C6、F4、F5、F6、I4、I5、I6

另一个Offset同理,结果为9个平面的多维引用,即D4、D5、D6、G4、G5、G6、J4、J5、J6

T函数提取多维引用每个平面最左上角单元格的文本,组建成一个新的内存数组

N函数提取多维引用每个平面最左上角单元格的数值,组建成一个新的内存数组

If判断满足条件文本部分等于C12的,返回对应的数值结果

Sum将由If判断的结果进行求和

常规解法: