工作中因为要做Excel的三级联动,但是数据是从数据库中导出的,混杂在一起。利用字段间的关系对数据进行整理后,数据只能展示为竖列的形式。在制作联动时,需要用到横行的数据排列方式,故研究该公式。具体如下图:
源数据是竖型分组排序好的数据:
需要用到的数据是这样,一级菜单在首行,下面跟着二级菜单的形式。
公式如下:
=OFFSET(Sheet2!$A$1,SMALL(IF(INDEX(Sheet2!$A$1:$A$2826,MATCH(A$1,Sheet2!$A$1:$A$2826,0)+ROW(1:30)-1,1)=$A$1,MATCH(A$1,Sheet2!$A$1:$A$2826,0)+ROW(1:30),65536),1)-2,1)
分布解析如下:
用到的公式有:
=OFFSET