当前位置: > 热议

Excel2022版来了,新增Xtext、PZ等5个超牛逼的函数!

时间:2022-04-23 11:42:38 热议 我要投稿

活跃一下气氛,送书活动继续开始。老规则,从留言区随机抽取3位粉丝,赠送书籍《Excel效率手册 早做完,不加班》。

3月2日下午,微软推出了最新版本Excel2022,里面的函数个个牛逼,一睹为快。

1.新版TEXT

老版本的TEXT很强大,不过有一个小缺陷,就是处理超过15位字符的时候会出错。比如,将身份证号码,中间用空格隔开,后面的几位数都当成0处理。

老版:

=TEXT(A2,"000000 0000 0000 0000")

新版:

=XTEXT(A2,"000000 0000 0000 0000")

用法是一样的,只是前面带个X,有X的都牛逼,比如以前的XLOOKUP。

老版能用的,新版都能用,比如将日期转换成年月的形式。

=XTEXT(A2,"yyyy年mm月")

2.新版PHONETIC

老版的PHONETIC只能将内容合并,不能用分隔符号隔开,同时也解决了老版不能合并数字的尴尬。

老版:

=PHONETIC(A2:C2)

新版:

=XPHONETIC(A2:C2,"-")

3.新版PZ

老版是无法提取批注的内容,新版增加了PZ,轻松就将批注提取出来。

=Pz(B2)

新版本除了这些,还提供了HB、NowTime等等一系列函数,都非常智能。

看完有没想去下载Excel2022,去体验一把呢?

其实,以上都是卢子给你开的玩笑,这些都是自定义函数。

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

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

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

Sub Text1()

代码

End Sub

其实,还有另外一种形式。

Function Text1()

代码

End Function

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

先来回顾一下Excel的SUM函数。输入=,函数名称,()里面输入参数。

=SUM(A2:A5)

新版函数,卢子起名为Text1,()里面也只有一个参数,跟SUM函数很像。

在()里面输入一个参数,比如t。

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

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

中间的代码按照Text的写法操作。

Text1 = VBA.Format(t, "000000 00000000 0000")

好,这样就开发了一个新版Text。

回到Excel中,输入刚刚开发的函数,就可以了。

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

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

原来用Text函数。

=TEXT(MID(A2,7,8),"0-00-00")

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

Function 生日(t)

生日 = VBA.Format(Mid(t, 7, 8), "0-00-00")

End Function

又开发了一个新函数,就这么简单。

回到Excel,看看新函数的效果。

自己开发的函数,可以起中文名称,这样就更容易理解。

文章开头提到的3个函数源代码:

Function XTEXT(Rng, x)

XTEXT = VBA.Format(Rng, x)

End Function

Function XPHONETIC(Rng, x)

For Each Set_Rng In Rng

XP = XP & IIf(XP = "", "", x) & Set_Rng

XPHONETIC = XP

Next

End Function

Function PZ(Rng)

On Error Resume Next

x = Rng.Comment.Text

PZ = Mid(x, InStr(x, Chr(10)) + 1)

End Function

好,今天就讲到这里,有没迫不及待想自己开发一个新函数的想法?