欢迎使用浅北表格助手!
本插件(浅北表格助手)由公众号「未央暮城」作者「莫浅北」使用 VBA+Ribbon 原创制作。
正文介绍:
常使用 Excel 的人,可能听说过方方格子这款插件,里面有很多实用的功能,比如多个工作表的合并、多个工作簿文件的合并:
还有些比较小的功能,比如说添加一些固定的前缀后缀等:
但是,你必须要联网激活,也是订阅制的付费方式:
当然,一款好用的软件值得我们付费,但有时频繁用到,而有时一个月也用不了一回。当然,最主要的原因还是穷。
在学习了一些 VBA 课程后,其中的自定义函数和动作,对我吸引力很大,我通过功能上的模仿,也开发了这样的一款小工具,我暂称其为「浅北表格助手」:
究竟有多强,话不多说,直接来看!
目前已经在 GitHub 及 Gitee 开源,可能会有一些小 bug,大家可以在上面进行反馈,虽然我也不经常看。
一、动作方面
什么叫动作?就是可以实现不同功能的按钮,比如点一下就可以合并多个文件。
我自定义的功能有下面这 40 多个:
这里介绍一些你可能会经常用到的:
01 工作簿合并保存
我们可能将信息保存在不同的文件中,销售部一份、市场部一份,或者昨天一份、今天一份,每月每天一份:
但在统计分析时,我们需要将其合并到一个文件中,甚至是一张工作表中。
普通的手动操作可能会浪费大量的时间,而使用 PQ 虽然简单,但低版本 Office 无法使用。
你就可以使用我自定义功能,完成这一操作,比如将很多文件的表格放在一个文件中:
这里还有一个小细节,保留了原来工作簿/工作表的名称,不知道你注意到没有。
02 工作表合并
当然,汇总在同一个文件的不同工作表,也可以一键统一到一张工作表中:
:::info 小细节:保留了原来工作簿/工作表的名称 :::
03 工作表按列拆分表格
与合并对应的,就是拆分。
比如你有一张已处理好的工作表,要将其按照部门进行拆分后下发:
解决方法有两种:
一种通过数据透视表的报表筛选页,但需要对Excel有较深了解;
另一种,使用筛选+复制粘贴的方式,但数据过多重复劳动量较大。
而我自定义的这一动作,就是将第2种方式自动重复,无需你的干预:
04 Sheet表另存文件
上一步我们将一张sheet表,拆分为了多张sheet表格,接下来,我们就需要将这些sheet表,每个都保存为一个excel文件。
使用这个功能,一键完成:
05 批量重命名文件
这个可以说是一个受累不讨好的问题,用的地方不多,但一旦遇到,就很麻烦。
而如果你搜索一下「如何批量重命名」,要么需要各种代码,要么软件功能上不全:
而想实现复杂的命名,比如互换歌手与歌曲名的位置,你可能还需要需要了解正则表达式。
而我们在已经掌握了 Excel 中的分列和简单的文本处理函数,就可以使用「文件批量重命名」这个功能,完成各种各样的重命名操作。
结合我的日常使用,简单举几个例子:
批量添加公众号名
分享给别人的文件,我通常会在开头加上我的公众号名称,更方便传播:
使用 & 进行字符串拼接即可完成。
批量添加数字序号,顺序不乱
我习惯在每个文件的固定位置,比如开头,加上数字编号,方便在各系统按顺序浏览:
批量互换歌手-歌名位置
我们在不同音乐软件下载的歌曲,可能文件名称的顺序不同,但为方便后期管理,我会将他们按照「歌手 - 歌名」的格式,统一命名:
不需要你懂正则中的分组引用、通配符、转义等复杂语法,逻辑全部由 Excel 完成,而且也不必须使用复杂函数,分步完成即可。
类似文件名增加序号
有时,一个大文件可能会被分隔为了多个单文件,或者一节课程被分为两个视频。为防止丢失其中的某个文件,我通常会在最后,添加上该单元文件的总数:
这种命名方式,即使你懂正则表达式也无法实现,因为正则只能针对当前文件,不会管其他文件怎么样。
如果你用批量重命名工具,利用文本截取 MID + FIND 查找字符 + 条件计数 COUNTIF 函数就可以实现。
06 插入各省市信息
我们在统计人员的地理信息时,可能有不同省份、不同的市区,比如此次疫情期间的途经地区统计。
需要统计人员自己手动录入,这一过程中,可能会出现一些错误,比如少录入一个字,而使用数据验证的方式,可以避免这种错误:
但很多统计人员,是没有全国各省市的信息列表的,也就无法实现这一功能。
我自定义的这个工具,就从中华人民共和国民政部搜集整理了 1980~2021 年全国的行政区划信息:
全量信息,共7307条,包含2021年执行的区划
07 创建工作表的目录
如果一份文件中有多张工作表,而这些工作表,都是横向排列在Excel的底部,不方便我们浏览查看:
虽然可以在快进/退按钮上右键,快速查看不同的sheet:
但只能拉取sheet的名称,而无法拉取工作表内固定单元格的文字,比如我在制作函数使用指南时,需要拉取B2单元格的文字内容(函数名称):
我就可以通过这个功能,快速生成目录:
08 复制行高列宽信息
有时候我们精心调整的一个表格,比如说入职申请表、工位牌等,需要复制多份,但在复制的过程中,很多文字挤在一起看不清,还需要花大量的时间重新调整:
PS:这里做了夸张处理
虽然可以通过复制整行的方式,保证行高不变形,但列宽还是无法保证。
面对这样的问题,你就可以使用这个功能,简单操作两下:
当然,不仅仅是上面介绍的这些,还有很多小功能,你可以自行研究,比如破解xls文件等。
二、函数方面
我们在一个Excel中,无法避免地会使用一些函数,而这些函数被称为工作表函数:
而由于VBA有自己的函数,且可以通过编程,完成更复杂的功能,我也通过自定义函数公式,实现工作表的函数无法实现的功能。
目前,自定义函数方面,拉小登的公式plus已经很强了,本着「不重复造轮子」的原则,我这里直接使用其相关的源代码。
为方便大家使用,将其中的P_PLUS的开头的P改为J,这样,就不用在一系列的函数中筛选了。
下面仅列举我自定义的函数:
JSHENFENZHENG 身份证信息的读取
我们知道,你的身份证中包含很多信息:
这样,就可以读取你的户籍所在地、出生日期、年龄、生肖,性别等信息。
通过这个函数,你就可以直接查询到这些信息:
JVLOOKUP 逆向查询的vlookup
vlookup是Excel中使用最广泛的函数之一,但有一个缺陷,只能根据前面的内容查找后面的值,且如果无法找到,会返回错误值,还需要用 iferror 函数嵌套进行处理:
我通过使用Find的方法,实现逆向查询的功能:
而且用的是相对位置,不用你再数返回值在第几列了。即使没有找到匹配的值,会返回字符串,方便之后做判断。
JRANK 中国式排名
排名在Excel中可以使用RANK.EQ等RANK类函数。
但遇到同样成绩的,比如出现两个亚军(第2名),还是会有季军(第3名)的存在,而Excel自带函数无法实现,可能需要用到数据透视表或数组公式,非常费事。
你就可以使用这个函数,一键获取中国式排名:
JHYPELINK 获取单元格链接
我们从其他系统导出的Excel文件,常常会有一些带链接的单元格,我们想看将其提取出来:
一般人的做法可能是,点开链接——复制——粘贴到单元格中,数据量少还可以,但通常这种表格,数据都很大。
或者,你通过查询,发现这样一串VBA代码:
但每次用到时,都需要复制和修改也不是太方便,使用「单元格链接获取函数」,一键提取:
JRANDNAME 生成随机姓名
当你遇到Excel的问题时,需要向其他专业人士进行求助,但这些数据可能涉及隐私,需要脱敏处理,比如我上面的示例。
数字比较容易模拟,使用RAND等随机函数即可,但姓名这些不是很容易模拟。
我预设了一系列的男性和女性的名称,你可以随机生成:
好了,这大概就是这个工具箱的主要功能了。
里面会有更详细的使用说明。
欢迎赞助
我用了大约两个月的空余时间,写了大约 2800 多行代码,并写了 30000 字、100 多张动图的使用说明,并不断维护更新,如果对你有帮助,可以打赏~
一百行代码只需一个煎饼果子
如果你有语雀账号,动动小手点个免费的赞也是极好的~
:::info
如果你还没有注册语雀文档,可以点击这里注册,登录 APP,填写邀请码 FRXN8F,获得三个月的语雀会员哦~
:::