新版Text函数特性曝光:功能更加人性化!

点击上方蓝字
「Excel不加班」
关注

看下一篇



新版Text函数特性曝光:功能更加人性化!
文章图片


Text函数有百变神君 , 文本之王等称号 , 超牛逼 。 不过再牛逼的函数 , 也都会有缺陷 。

超过15位字符 , 用Text函数处理就会出错 , 把超出的数字当0处理 。 先跟着卢子来看下实例 。
新版Text函数特性曝光:功能更加人性化!
文章图片


Text:
=TEXT(A2,"000000 00000000 0000")
新版Text:
=Text1(A2)
新版Text , 你应该是第一次看见 , 你的电脑目前是没有的 。 这个是2020/6/9这一天卢子开发出来的 。

Excel内置函数很难完成的时候 , 可以自己开发函数 , 开发函数其实并不难 , 你也可以!

老方法 , 进入VBA的后台 , 插入一个模块 。

在今天之前 , 我们看到的代码都是这种格式 。
Sub Text1()
代码
End Sub

其实 , 还有另外一种形式 。
【新版Text函数特性曝光:功能更加人性化!】Function Text1()
代码
End Function

下面这种形式 , 就是用来开发新函数用的 。

先来回顾一下Excel的SUM函数 。 输入= , 函数名称 , ()里面输入参数 。
=SUM(A2:A5)
新版函数 , 卢子起名为Text1 , ()里面也只有一个参数 , 跟SUM函数很像 。

在()里面输入一个参数 , 比如t 。
新版Text函数特性曝光:功能更加人性化!
文章图片


代码就是要实现的功能 , 想实现跟Text一样的分隔效果 , 不过后面的0要正常显示 。

在VBA中 , Format的作用就跟Text一样 , 不过更加人性化 。

中间的代码按照Text的写法操作 。
Text1 = VBA.Format(t, "000000 00000000 0000")

好 , 这样就开发了一个新版Text 。
新版Text函数特性曝光:功能更加人性化!
文章图片


回到Excel中 , 输入刚刚开发的函数 , 就可以了 。
新版Text函数特性曝光:功能更加人性化!
文章图片


哈哈哈 , 开发新函数就这么简单 。 以后如果微软的函数不满足你 , 你就自己开发一个 , 没什么大不了的 。

继续往下看 , 现在要开发一个从身份证提取生日的函数 。

原来用Text函数 。
=TEXT(MID(A2,7,8),"0-00-00")新版Text函数特性曝光:功能更加人性化!
文章图片


刚刚说过 , Format的作用就跟Text一样 , 其实VBA中也有Mid , 也就是说直接照搬就行 , 把A2改成变量t就可以 。


推荐阅读