通过2级菜单,加深对 INDIRECT, INDEX, OFFSET, 这三个函数的认识。 不过二级菜单的第一级的做法,都是相同的。
工具/原料
office软件
电脑
第一种做法:使用函数INDIRECT
1、看看列子。如图:
2、3个一级选项,我们需要建立3个“名称”:“底盘”、“ 发动机 ”、“电气”。如图:
3、“名称管理器”,就可以看到建立3个名称。如图:
4、还需要建立一个名称,叫做“类别”这个名称包括“底盘”、“ 发动机 ”、“电气”。这3项。这个时候,你就可以在“名称管理器”看到4个名称。如图:
5、创建1级下拉菜单。如图:
6、1级下拉菜单就创建好了。如图:
7、2级菜单(注意:来源(S)和1级不同)。如图:
8、“确定”后,这个时候,你就实现了2级菜单。如图:
第二种做法:使用函数INDEX
1、创建“名称”(建立:“类别”名称,方法和上面一样。建立:2级 名称)。如图:
2、创建1级,同第一种方法第5步。
3、创建2级,使用函数”INDEX“(=INDEX(二级,0,match(E$2,类别,0)))。如图:
4、点击”确定“即可实现2级菜单。参考方法一 第8步。
第三种做法:使用函数OFFSET
1、创建2级,使用函数”OFFSET“(=OFFSET(A2,,MATCH(E2,类别,)-1,3,1)),这样也是可以实现2级的下拉菜单。。如图:
2、第三种方法其实不完善的,因为我们的2级菜单刚好都是3项,那么如果是不等的,那你就只能取最多的。完善的做法,当然是动态的,根据2级菜单的数量来显示。需要解决的问题,就是如果动态计算出每项2级菜单的数量。2级菜单数量=COUNTA(OFFSET(A:A,,MATCH(E2,类别,0)-1))-1那么我们的公式就变成=OFFSET(A2,,MATCH(E2,类别,)-1,COUNTA(OFFSET(A:A,,MATCH(E2,类别,0)-1))-1,1)这样就更加完美。对于初学者不推荐。