小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

這個(gè)新函數(shù),讓Excel進(jìn)入了一個(gè)新的境界

 ExcelEasy 2022-01-04

自從Excel問世以來,這個(gè)軟件已經(jīng)成了很多人日常工作的一部分。我們使用Excel記錄數(shù)據(jù),進(jìn)行分析,制作報(bào)告,用這些數(shù)據(jù)進(jìn)行日常業(yè)務(wù)決策。功能強(qiáng)大的函數(shù)讓很多人又愛又恨,還有很多人非常希望學(xué)習(xí)但是又望而卻步的VBA,現(xiàn)在,這一切有了新的變化。




對于Excel中的函數(shù),大家已經(jīng)非常熟悉了。即使那些Excel新手,也至少會(huì)用過IF,VLOOKUP等函數(shù),有些人也見過“高手”所寫的公式,往往對這些函數(shù)的無所不能印象深刻。但是,使用的多了,你就會(huì)發(fā)現(xiàn),還是會(huì)有一些問題:

  1. 公式使用多了以后,維護(hù)起來特別麻煩。尤其是一個(gè)函數(shù)出現(xiàn)在多個(gè)不同的位置,要修改就必須找全了,否則就會(huì)出錯(cuò)。導(dǎo)致每次修改都提心吊膽的。

  2. 有很多問題用現(xiàn)有的函數(shù)解決不了。很多人遇到這種問題,往往會(huì)產(chǎn)生學(xué)些“VBA”的欲望,但是想想那些代碼,規(guī)則,邏輯,就會(huì)被勸退了。確實(shí),對于大部分Excel使用者來說,寫程序太難了。

現(xiàn)在好了!

微軟在2020年12月,發(fā)布了一個(gè)新函數(shù):

LAMBDA

微軟在Office 365和新版本的Excel中,推出了很多新函數(shù),其中有一些我們在前面的文章中為大家介紹過。這些新函數(shù)功能強(qiáng)大,極大的簡化了很多數(shù)據(jù)處理工作,比如XLOOKUP,F(xiàn)ILTER等等。但是LAMBDA這個(gè)函數(shù)與它們都不一樣。

簡單的說,這個(gè)函數(shù)的作用就是讓你可以定義自己的函數(shù)。

例如,我們可以這樣定義一個(gè)函數(shù):

=LAMBDA(x,y,x+y)

很容易就會(huì)注意到,這個(gè)函數(shù)與其他Excel函數(shù)不太一樣:

  • 這個(gè)函數(shù)的參數(shù)并不是單元格引用,也不是常量,而是“x”,“y”這樣的變量。

簡單解釋一下:

這個(gè)被定義的函數(shù)的作用就是:

接受兩個(gè)變量:x和y,并且返回它們的和:x+y

很簡單,這個(gè)函數(shù)定義完成了!

但是,如果你像普通函數(shù)一樣,回車完成公式輸入,你會(huì)得到一個(gè)錯(cuò)誤:

這個(gè)#CALC!

就是告訴你,你使用LAMBDA函數(shù)定義了一個(gè)公式,所以,你不能這么使用這個(gè)公式!

正確的使用方式是這樣的:

你需要將整個(gè)LAMBDA公式:LAMBDA(x,y,x+y)作為一個(gè)整體,像一個(gè)普通函數(shù)一樣,后面加括號,寫參數(shù),2和3,結(jié)果就是:

或者,引用單元格:

結(jié)果為:

是不是有點(diǎn)失望!?

有點(diǎn)意思,但是直接寫公式不行嗎?

這么費(fèi)勁有什么用呢?

其實(shí),這個(gè)函數(shù)還需要結(jié)合“名稱”才能發(fā)揮它的作用。(關(guān)于名稱,你可以參考下面的文章:關(guān)于Excel中的名稱(Name),你需要知道的都在這里了

在Excel的公式選項(xiàng)卡中,點(diǎn)擊名稱管理器,

打開名稱管理器對話框(也可以通過快捷鍵Ctrl+F3):

點(diǎn)擊“新建”按鈕,新建名稱,

名稱:Add

范圍:工作簿

引用位置:=LAMBDA(x,y,x+y)

點(diǎn)擊確定,完成名稱定義。關(guān)閉名稱管理器。

現(xiàn)在,你有了一個(gè)自己定義的函數(shù):Add,你可以像個(gè)普通Excel函數(shù)一樣使用它:

結(jié)果為:

上面我們使用了一個(gè)簡單的例子說明了LAMBDA的用法。下面我們通過幾個(gè)其他例子看看這個(gè)函數(shù)的好處和作用。

例1,簡化公式——單詞計(jì)數(shù)

這個(gè)例子是數(shù)一數(shù)英文字符串中有多少英文單詞。我們可以使用下面的自定義函數(shù):

其中公式是:

=LAMBDA(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 1)

函數(shù)可以這么使用:

說明一下:

從這個(gè)例子可以看到,我們可以通過LAMBDA自定義函數(shù)來簡化表格中的函數(shù)。如果不用LAMBDA而直接使用下面的公式的話:

=LAMBDA(A1, LEN(TRIM(A1)) - LEN(SUBSTITUTE(TRIM(A1), " ", "")) + 1)

也可以得到同樣的結(jié)果,但是,如果要在多個(gè)表格中使用相同的算法處理數(shù)據(jù),就需要分別使用這個(gè)公式。如果你發(fā)現(xiàn)算法錯(cuò)了,想修改的時(shí)候,你就會(huì)發(fā)現(xiàn)這個(gè)工作太煩人了:你需要找到所有的地方,還需要確保每個(gè)地方都修改正確了。而現(xiàn)在,你只需要修改一個(gè)地方就可以了。

例2,不可能完成的任務(wù)-替換不希望出現(xiàn)的字符

這個(gè)例子是根據(jù)你的要求在文本中去掉那些你不希望出現(xiàn)的非法字符。例如:

我們希望去掉那些電話號碼??梢允褂孟旅娴墓剑x一個(gè)名稱:

ReplaceChars

=LAMBDA(txt,replacetxt,IF(replacetxt="",txt,ReplaceChars(SUBSTITUTE(txt,LEFT(replacetxt,1),""),RIGHT(replacetxt,LEN(replacetxt)-1))))

使用這個(gè)函數(shù)可以得到結(jié)果:

同樣的公式可以用于去掉別的非法字符:

說明一下:

仔細(xì)看這個(gè)例子的話,你會(huì)發(fā)現(xiàn)在ReplaceChars函數(shù)的定義中,我們使用了ReplaceChars這個(gè)函數(shù)本身,這是“遞歸調(diào)用”,這個(gè)稍微有點(diǎn)難度,我們會(huì)在以后為大家詳細(xì)介紹這種方法。但是,從這個(gè)例子可以看出,如果不使用LAMBDA函數(shù)的話,很多類似的需求是不可能得到實(shí)現(xiàn)的。你只能借助于VBA,Python,Java Script等等開發(fā)工具來編程序,對于大部分來說太難了。

那么,境界在哪里呢?

下面簡單介紹一下從這個(gè)函數(shù)開始給Excel帶來的一些變化,這些變化很可能會(huì)影響到我們?nèi)粘J褂肊xcel的方式。

注:以下有一些術(shù)語,本身不是很難理解。如果你覺得太枯燥,可以跳過這一部分。

簡單的說,從這個(gè)函數(shù)開始,Excel的函數(shù)體系本身就變成了一種“編程”語言。

是的,你沒有看錯(cuò),Excel本身變成了一種編程語言。

怎么樣,沒想到只是簡單的使用了下Excel,你就變成了“程序猿”了??

其實(shí),Excel一直是一種編程語言,只不過,以前,這種編程語言是真正的大家熟悉的編程語言:VBA,盡管在真正的程序員圈子里,這個(gè)VBA處于鄙視鏈的最末端了,但是VBA+Excel函數(shù)完全達(dá)到了一個(gè)完善的編程語言的要求:它是圖靈完備的。

注:圖靈完備是一個(gè)計(jì)算機(jī)方面的專業(yè)名詞,經(jīng)常用來評估編程語言。說一個(gè)編程語言是圖靈完備的,就是指這個(gè)語言里的所有規(guī)則可以實(shí)現(xiàn)“圖靈機(jī)”模型中的全部功能。

但是,盡管VBA可以實(shí)現(xiàn)所有的關(guān)于數(shù)據(jù)方面的要求,很多人也想學(xué)習(xí)它。但是對于普通人來說,成功的人并不多。原因很簡單,這畢竟是“硬”編程。其中的各種名詞,規(guī)則,F(xiàn)or(WHILE)循環(huán),IF/ELSE判斷,子程序,數(shù)組,對象等等,光是聽聽就能把人搞暈。

現(xiàn)在好了,不需要VBA了(不是VBA沒用了,而是對普通人處理數(shù)據(jù)的要求來說,可以不用VBA了。)因?yàn)椋由狭薒AMBDA函數(shù)之后的Excel函數(shù)體系,本身就構(gòu)成了一個(gè)圖靈完備的編程語言。

這種語言與VBA,Python,C#,Java等不同,它被稱為“函數(shù)式語言”,顧名思義,這種語言的主體就是各種函數(shù),在這種語言下編程,就是使用各種函數(shù),創(chuàng)建自己的函數(shù),利用函數(shù)返回想要的結(jié)果。

注:其實(shí)不光Excel是這樣的函數(shù)式語言,在Power Query中使用的M語言也是一種函數(shù)式語言,在Power Pivot中使用的DAX,也是一種函數(shù)式語言。

為了增強(qiáng)Excel函數(shù)的功能,微軟還配合LAMBDA函數(shù)推出了一些其他的函數(shù)。我們會(huì)在以后為大家詳細(xì)介紹,也會(huì)結(jié)合實(shí)際的例子,介紹如何使用LAMBDA函數(shù)來解決實(shí)際問題。

另外,值得強(qiáng)調(diào)的是,從Excel這個(gè)函數(shù)體系的增強(qiáng),加上Power Query和Power Pivot等功能的成熟,Excel真正變成了“Power” Excel,這個(gè)“Power” Excel可以讓我們在現(xiàn)在這個(gè)對大數(shù)據(jù)已經(jīng)深入到日常生活和工作的各種場景中對數(shù)據(jù)的處理更加的方便,但同時(shí)也對我們提出了更高的要求。

深入學(xué)習(xí)“Power Excel”,成為一個(gè)另類的”程序猿“吧??

注:現(xiàn)在LAMBDA函數(shù)還沒有正式發(fā)布,只有Office Insider Program的用戶可以使用。這是網(wǎng)上搜到的加入這個(gè)項(xiàng)目的方法:https://cloud.tencent.com/developer/news/222433

另外,從微軟自己的表示看,他們對現(xiàn)在使用名稱來定義自定義函數(shù)感到不滿意,主要是名稱對話框只是一個(gè)單行的文本框,”編程“的體驗(yàn)非常不好,他們希望能夠有所改進(jìn)。期望正式推出的時(shí)候可以有新的體驗(yàn)了。


·end·

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多