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





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精精