分享

UC头条:Excel函数(22)

 Chosefree 2019-11-18

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

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

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

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

排序法

按空格插空行法

VBA

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

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

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

案例:

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

解决方案:

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

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

如下图所示,如果隔行插入空行,就相当于 1 行写入 1 行,2 行写入 3 行,3 行写入 5 行……

发现规律了吗?目标行=原始行*2-1

反推一下公式,得出结论:原始行=(目标行+1)/2

先记住这个结论,等下公式中会用到

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

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

公式释义:

(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)),'')

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

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

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多