分享

VLOOKUP按指定次数重复数据

 刘卓学EXCEL 2021-04-28
-01-

下限分段点


如下图所示,要根据C列的次数重复B列的部门,结果如F列所示。比如“销售部”的次数为3,那么销售部就要重复出现3个。

1)在A列添加辅助列,A3单元格输入公式=SUM(C$2:C2)+1,向下填充到A7单元格。A列的数字是各部门序号下限的分段点。

这是什么意思呢?可以看下D列的数字,“生产部”只有1个,序号为1;“销售部”有3个,序号分别为2,3,4;“市场部”也有3个,序号分别为5,6,7;以此类推……

1,2,5,8,10就是下限分段点。这个分段点也比较好算,就是用之前所有部门的总数加1。
2)在F3单元格输入公式=IFNA(VLOOKUP(ROW(A1),A$3:B$7,2,0),F2)&"",下拉填充,完成。
一步到位可能看不出公式的变化过程,可以拆解一下。先来看VLOOKUP这部分,在A3:B7中查找1,返回第2列的“生产部”;当公式向下填充,分别查找2,3,4……并返回相应的部门。

从下图F列的结果中可以看到,只有在分段点的位置才能找到正确的部门,其他位置都是错误值。观察下可以发现,对于错误值的单元格,只需让它返回上一个单元格的值就可以了。

接下来用ifna处理错误值,如果是#N/A错误值,让它返回上一个单元格。这样前面的部门就正确了,10以后的却变为了0,这是因为B7单元格是空单元格,解决的方法是在公式后面或者VLOOKUP后面连接空&""。

有了A列的辅助列,也可以用VLOOKUP的模糊查找方式进行查找。公式为=VLOOKUP(ROW(A1),A$3:B$7,2)&"",向下填充。这种方法和LOOKUP的查找方式一样。


-02-

上限分段点

我们也可以用上限分段点来做,在A列添加辅助列,A19单元格输入公式=SUM(C$19:C19),向下填充。从D列数据中可以看到1,4,7,9是上限分段点。
在F19单元格输入公式=IFNA(VLOOKUP(ROW(A1),A$19:B$22,2,0),F20)&"",下拉填充,完成。
此时如果产生错误值返回下一个单元格,可以拆解看一下:当在上限分段点的时候查找到相应的部门,其他位置返回错误值。如果是错误值,只需返回下一个单元格的部门就可以了。最后需要连接空&""屏蔽空单元格返回的0。
链接:

https://pan.baidu.com/s/11BxJKy-sX1rLi2D_ldiawg

提取码:p51m

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多