Excel批量插入空行,函数也可以?技巧更简单,VBA?

E精精
E精精 WPS资深用户KVPWPS函数专家Lv.2 潜力创作者

Lv.2潜力创作者

大家好,我是E精精!

今天我们说点简单的,也是群里同学的问题!

▍需求说明

如何在每行数据之间插入两行空行?就是这么简单的问题

这个问题,方法特别多,比如简单的技巧操作,VBA、函数都可以实现!

下面我们先来讲简单的技巧操作吧!

▍技巧操作法

友情提醒,操作前基本备份数据,这个是非常重要的好习惯!

添加一个辅助列,需要输入1、2,选中二者,下拉填充,然后根据需要插入的空行行数,复制几份,粘贴到下面!

点击【数据】-【自定义排序】,主要关键字选择E列,其他默认即可!

点击确定,成功插入空行,格式也没有破坏,这里的原理非常简单,按照大小排序后,下面的空白行的相同值会排到一起,从而实现插入!

下面我们来看看函数如何处理,直接封装成一个函数,方便调用!

▍函数解法

我们从拿一行数据来分析,搞懂之后,直接循环堆一下就可以了,这里核心使用了EXPAND这个扩展函数,

EXPAND(需要扩展的内容,扩展的行数,列数,扩展后填充内容)

这里就是把空值,扩展成2行4列,扩展后还用空值填充,从而实现扩展两行空白行的目的!

一个搞懂了,下面我们使用REDUCE这个函数,循环每一行,使用VSTACK函数把每次的结果上下追加到一起!

实际效果如下

=REDUCE(A1:D1,OFFSET(A1:D1,ROW(1:4),),
    LAMBDA(x,y,VSTACK(x,VSTACK(y,EXPAND("",2,4,""))))
)

我是新手我不会写,可以做出像VLOOKUP直接调用参数就可以吗?当然!

点击【公式】-【名称管理器】,名称中输入函数名称,这个可以自己起一个,比如你想用中文【插入空行】,引用位置,粘贴下面的公式定义

=LAMBDA(_data,_rows,
    REDUCE(
        TAKE(_data, 1),
        SEQUENCE(ROWS(_data) -1, , 2),
        LAMBDA(x,y,
            VSTACK(
                x,
                VSTACK(INDEX(_data, y, ), 
                EXPAND("", _rows, COLUMNS(_data), ""))
            )
        )
    )
)

然后在工作表中,输入=插入空行,就会有参数提示,分别是数据源和要插入的空行行数,两个参数!

下面是插入一个空行的示例,非常奈斯!

更多自动化办公技能,欢迎关注小编!多多点赞、转发,是小编不断更新的最大动力!

Excel全栈知识库-E精精
@E精精
浏览 274
收藏
8
分享
8 +1
+1
全部评论