某读者,10年会计工作经验,可是连Excel还没入门。
为什么会这样呢?
她一直说自己笨,可是我压根儿不相信这个解释。因为10年前我就遇到一个超级笨的,现在的水平还挺好的。
今天,她终于说了实话,只花了一天时间学习Excel。
舍不得花时间学习,就会舍得到处求助于人,上天是公平的。
好,废话就不多说了,进入主题。
VIP学员的问题,希望达到的效果是,在日常工作情况记录表,备注列输入√,就整行内容填充绿色。
VIP学员的问题:要实现分类、科目代码、科目名称多级联动下拉菜单。负债类对应相应的科目代码和名称,权益类也对应相应的科目代码和名称,效果如gif动画。
科目代码表,有分类、科目代码、科目名称的所有数据。
卢子以前也分享过一二级下拉菜单的制作,而这种布局不适合用以前的方法,难度较大。
Step 01 将分类复制到F列,删除重复值。这一步必须做,要不然直接引用A列,就会导致分类的内容重复显示。
Step 02 在下拉菜单这个表,选择A列的区域,点数据,数据验证(数据有效性),序列,引用科目代码F列的区域,确定。
Step 03 在下拉菜单这个表,选择B列的区域,点数据,数据验证(数据有效性),序列,输入一条很长的公式,确定。
=OFFSET(科目代码!$B$1,MATCH($A2,科目代码!$A:$A,0)-1,0,COUNTIF(科目代码!$A:$A,$A2))
这条公式是二级下拉的核心公式。先来理解OFFSET函数语法,最后2个参数为可选。
=OFFSET(起点,向下几行,向右几列,总共多少行,总共多少列)
起点,科目代码!$B$1。
向下几行,以负债为例,就是向下1行。这里用MATCH判断第几行。
负债这里得到的是第2,而我们需要的是向下1行,所以得出来的数字再减去1。
向下几行就出来了。
=MATCH($A2,科目代码!$A:$A,0)-1
向右几列,这里不需要向右,也就是0。
总共多少行,也就是数一下负债有多少行,就是多少行。这个可以借助COUNTIF函数解决。
总共多少行,也出来了。
=COUNTIF(科目代码!$A:$A,$A2)
总共多少列,这里可以写1,也可以直接不写。
到这里,OFFSET函数就解释完。
Step 04 科目代码跟科目名称是一一对应的,就不需要再做下拉菜单,用VLOOKUP函数查找即可。
作者:卢子
领取专属 10元无门槛券
私享最新 技术干货