关于在对一列数据隔行插入空行,我分别写过
Excel 实用 tips(三)– 如何隔行插入空行?和
Excel VBA(5) – 一键制作工资条
两篇文章中分别介绍了三种方法:
- 排序法
- 按空格插空行法
- VBA
可是还有同学说:这几种方法我都不喜欢,我是函数控,有没有函数实现的方法?
有!今天介绍用 index+match 实现的方法。大家不禁要问了,index+match 不是用来查找的吗?没错,具体案例可参见 Excel 如何多条件查询?即同时查询行、列并返回值?
稍作变通,就能实现隔行插入空行的目的。
案例:
如何给下图 1 隔行插入空行,变成下图 2?
![69fac45f53ccdb8687c49a9064a8b4eb.png](https://img-blog.csdnimg.cn/img_convert/69fac45f53ccdb8687c49a9064a8b4eb.png)
![b7405990fb9c48973a7475f8bed2afb4.png](https://img-blog.csdnimg.cn/img_convert/b7405990fb9c48973a7475f8bed2afb4.png)
解决方案:
1. 先在 B 列增加一个辅助列,公式为:=row(),目的是读出当前行数
![f8d345476f7c51ff5c26348d7ef24951.png](https://img-blog.csdnimg.cn/img_convert/f8d345476f7c51ff5c26348d7ef24951.png)
2. 接着我们来找一下规律:
- 如下图所示,如果隔行插入空行,就相当于 1 行写入 1 行,2 行写入 3 行,3 行写入 5 行……
- 发现规律了吗?目标行=原始行*2-1
- 反推一下公式,得出结论:原始行=(目标行+1)/2
- 先记住这个结论,等下公式中会用到
![e82f7e54686bd6b2a6eb7f7073e6d751.png](https://img-blog.csdnimg.cn/img_convert/e82f7e54686bd6b2a6eb7f7073e6d751.png)
3. 既然找出了规律,就可以写公式了,把多余的演示删除,在 C1 单元格输入以下公式,下拉:
=INDEX(A:A,MATCH((ROW()+1)/2,B:B,0))
![f1bcceb944922b10a33744f66a4fa672.png](https://img-blog.csdnimg.cn/img_convert/f1bcceb944922b10a33744f66a4fa672.png)
公式释义:
- (ROW()+1)/2:这就是我们在上一步找出的规律,row() 是当前行,即目标行;(ROW()+1)/2 就是 (目标行+1)/2,即原始行
- MATCH((ROW()+1)/2,B:B,0):这一步的目的是返回原始行的行数
- 然后根据返回的行数,用 index 函数在 A 列中取出对应的人名
4. 但是我们要的是插入空行,不是出错值,那可以在整个公式外面加上 iferror(公式,"") 即可:
=IFERROR(INDEX(A:A,MATCH((ROW()+1)/2,B:B,0)),"")
![50ec584120391fa26ccf6a23c7b0d46b.png](https://img-blog.csdnimg.cn/img_convert/50ec584120391fa26ccf6a23c7b0d46b.png)
5. 接下来把整个 C 列复制 --> 粘贴为数值到 D 列,公式就变成了人名
![eb8838a7295b60d5914b46009a6a7994.png](https://img-blog.csdnimg.cn/img_convert/eb8838a7295b60d5914b46009a6a7994.png)
![25dedfc35be5e2642143e3fd2a14875f.png](https://img-blog.csdnimg.cn/img_convert/25dedfc35be5e2642143e3fd2a14875f.png)
![972819dee4864f40aa2b488c435ef396.png](https://img-blog.csdnimg.cn/img_convert/972819dee4864f40aa2b488c435ef396.png)
6. 再按需设置一下字体格式就完成了
![b7405990fb9c48973a7475f8bed2afb4.png](https://img-blog.csdnimg.cn/img_convert/b7405990fb9c48973a7475f8bed2afb4.png)