插入空行_Excel–用函数实现隔行插入空行

关于在对一列数据隔行插入空行,我分别写过

Excel 实用 tips(三)– 如何隔行插入空行?和

Excel VBA(5) – 一键制作工资条

两篇文章中分别介绍了三种方法:

  1. 排序法
  2. 按空格插空行法
  3. VBA

可是还有同学说:这几种方法我都不喜欢,我是函数控,有没有函数实现的方法?

有!今天介绍用 index+match 实现的方法。大家不禁要问了,index+match 不是用来查找的吗?没错,具体案例可参见 Excel 如何多条件查询?即同时查询行、列并返回值?

稍作变通,就能实现隔行插入空行的目的。

案例:

如何给下图 1 隔行插入空行,变成下图 2?

69fac45f53ccdb8687c49a9064a8b4eb.png
b7405990fb9c48973a7475f8bed2afb4.png

解决方案:

1. 先在 B 列增加一个辅助列,公式为:=row(),目的是读出当前行数

f8d345476f7c51ff5c26348d7ef24951.png

2. 接着我们来找一下规律:

  • 如下图所示,如果隔行插入空行,就相当于 1 行写入 1 行,2 行写入 3 行,3 行写入 5 行……
  • 发现规律了吗?目标行=原始行*2-1
  • 反推一下公式,得出结论:原始行=(目标行+1)/2
  • 先记住这个结论,等下公式中会用到
e82f7e54686bd6b2a6eb7f7073e6d751.png

3. 既然找出了规律,就可以写公式了,把多余的演示删除,在 C1 单元格输入以下公式,下拉:

=INDEX(A:A,MATCH((ROW()+1)/2,B:B,0))

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

5. 接下来把整个 C 列复制 --> 粘贴为数值到 D 列,公式就变成了人名

eb8838a7295b60d5914b46009a6a7994.png
25dedfc35be5e2642143e3fd2a14875f.png
972819dee4864f40aa2b488c435ef396.png

6. 再按需设置一下字体格式就完成了

b7405990fb9c48973a7475f8bed2afb4.png
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值