分享

合并单元格的坑怎么填?

 F2967527 2022-10-19 发布于北京

直接进入主题,看下面这个坑!

需求如此简单:查询C组张飞的业绩!

图片

Excel中合并单元格可不可以用?可以!但是一般用在最后的数据呈现阶段,而不是数据加工处理阶段,否则就像这样,一个简单的问题开始变得复杂!

不过有问题,就要想办法解决!我们先来写一个一式完成的!

▼一式查询

=VLOOKUP(F2,OFFSET(A1,MATCH(E2,A2:A12,),1,99,2),2,0)

图片

我们说一下思路

1、MATCH可以找到组别首次出现的位置,也就可以确定,我们组员的开始位置了

2、VLOOKUP只能返回首个满足条件的结果,这点在我们这里非常重要!

MATCH找到开始位置后,我们使用OFFSET函数获取姓名和业绩列从开始位置向下99行(给一个超出目前数据范围的值即可!),OFFSET结果是一个两列的引用结果,可以作为VLOOKUP的查询区域,也就可以得到我们想要的结果!

这样,我们虽然可以做出来,但是对很多同学来说难度太大,我们有没有简单的办法呢?其实有,我们可以使用辅助列,把合并单元格展开,具体我们提供几种方法!

▍S01 - 基础IF循环法

=IF(B2<>'',B2,A1)

图片

有没有惊艳到,原来这么简单就可以展开啦!这里其实就是IF的循环思路。我们要知道合并单元格的内容都是在左上角单元格中,其他单元格都是空的,所以我们判断不等于空,拿到对应的组别,如果为空,我们就取我们之前获取到的组别(A列中)

▍S02 - LOOKUP函数

=LOOKUP('座',$B$2:B2)

主要一下第二参数的写法,前面B2是锁定的,后面是相对引用!,下来区域逐步扩大!

图片

▍S03 - SCAN函数

=SCAN(0,B2:B12,LAMBDA(x,y,IF(y<>0,y,x)))

SCAN属于365版本新函数,这里的结果是内存数组,可以整体作为其他函数的参数

图片

▍S04- LOOKUP内存数组法

如果你不是365也希望结果是内存数组,我们可以使用LOOKUP套路

=LOOKUP(ROW(1:11),MATCH(B2:B12,B2:B12,0),B2:B12)

图片

内存数组怎么用?比如我们想统计一下C组的人数,简单的可以这么写!

图片

▍S05- PHONETIC思路

=RIGHT(PHONETIC(OFFSET(B2,,,ROW(1:11))),2)

利用OFFSET逐步增大区域,这里涉及到OFFSET多维引用

图片

简单看一个图,应该就能明白了吧!,OFFSET的高度从1-11的变化以及PHONETIC结果!

图片

合并单元格的坑,我们就说这么多吧!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多