久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

介紹新LAMBDA函數(shù)

 hercules028 2023-01-29 發(fā)布于四川

新的LAMBDA函數(shù)有助于創(chuàng)作可重復(fù)使用的LAMBDA函數(shù),,同時其本身也是獨立的函數(shù)。
LAMBDA作為參數(shù)
Excel公式語言的一個令人興奮的補(bǔ)充是,,LAMBDA現(xiàn)在通過添加新函數(shù),,展示了被視為可接受的值類型的能力。這是一個在許多編程語言中都存在的重要概念,,一般來說,,這等同于lambda函數(shù)的概念。
Lambdas作為值
在深入研究新函數(shù)及其工作方式之前,,了解函數(shù)作為值的概念很重要,。
在過去幾年中,我們一直在教Excel如何理解新的值類型,。最近添加的一些是數(shù)據(jù)類型(Wolfram,、GeographyStocks,、Power BI,,甚至Power Query都可以創(chuàng)建數(shù)據(jù)類型)和動態(tài)數(shù)組。Lambdas通過允許Excel將函數(shù)理解為值來繼續(xù)擴(kuò)展,。這是通過引入LAMBDA實現(xiàn)的,。這意味著以前幾乎不可能或艱巨的事情現(xiàn)在可以通過編寫LAMBDA并將其作為值傳遞給函數(shù)來實現(xiàn)。
例如,,假設(shè)有一個不斷增長的值列表,,檢查大于50但小于80的值,,生成一個布爾值列表,如下圖1所示,。
圖片
1
可以為每個值編寫一個函數(shù)來檢查條件,,但這很容易出錯,并且需要為一些非?;镜膬?nèi)容進(jìn)行大量復(fù)制,。作為參考,重復(fù)的公式可能如下(每個值有一個公式):
=AND(B3>50, B3<80)
=AND(B4>50, B4<80)
...
這是一種可以應(yīng)用LAMBDA的場景,,更具體地說,,這是一個使用新MAP函數(shù)的絕佳示例。
MAP
使用MAP,,可以輕松地創(chuàng)建LAMBDA,,它將公式應(yīng)用于每個值并返回結(jié)果。MAP的超能力是值轉(zhuǎn)換,。
公式如下:
=MAP(1[],LAMBDA(value, AND(value>G3,value<G4)))
結(jié)果是一組布爾值,,如下圖2所示。
圖片
2
只需一個公式,,就可以實現(xiàn)相當(dāng)強(qiáng)大的功能,!
該函數(shù)如何工作
新的MAP函數(shù)接受一個(或多個)數(shù)組/區(qū)域引用,并將提供的數(shù)組/區(qū)域中的每個值作為參數(shù)傳遞給LAMBDA函數(shù)(在本例中為表1[]),。LAMBDA接受來自MAP的參數(shù)這一事實是在檢查每個新函數(shù)時需要記住的一個重要概念,,因為每個新函數(shù)都不同。
在上面的例子中,,有一個數(shù)組,,因此LAMBDA非常簡單,只需要一個參數(shù),。
集中于LAMBDA本身,,可以看到,在這個示例中,,選擇將單個參數(shù)稱為“value”,,但可以使用任何合法參數(shù)名稱來調(diào)用它:
LAMBDA(value, AND(value>F2, value<F3))
使用這些新函數(shù),需要理解的另一個關(guān)鍵概念是,,Excel將對提供的每個值進(jìn)行計算,,然后讓LAMBDA完成繁重的工作。在這種特殊情況下,,它將返回一個結(jié)果數(shù)組,,但這里介紹的其他函數(shù)將只返回一個值。
REDUCE
雖然MAP被證明對轉(zhuǎn)換值列表很有用,,但假設(shè)想計算滿足條件的項數(shù),。
這就是REDUCE派上用場的地方,。
這一次,重復(fù)使用與之前相同的邏輯,,但將計算包裝在IF中進(jìn)行計數(shù)。與之前一樣,,公式非常簡單,,因為只需要一個函數(shù)調(diào)用:
=REDUCE(0,1[],LAMBDA(accumulator,value,IF(AND(value>G3,value<G4),1+accumulator,accumulator)))
結(jié)果如下圖3所示。
圖片
3
通過使用LAMBDA將值列表縮減為一個值,。
REDUCE的主要區(qū)別在于,,它在LAMBDA值中使用了兩個參數(shù):
accumulatorREDUCE和每個LAMBDA調(diào)用返回的初始值。
value:提供的數(shù)組中的值
另一個需要注意的是第一個參數(shù),,它是accumulator[initial value],。在例子中,指定為0,。
accumulator允許編寫自己的自定義聚合IF函數(shù)(甚至可以使用REDUCE編寫PRODUCTIF),,如果集中于LAMBDA的計算部分,可以看到:
IF(AND(value>G3,value<G4),1+accumulator,accumulator)
BYROWBYCOL
接下來要介紹的兩個函數(shù)是BYROWBYCOL,。這些函數(shù)接受一個數(shù)組或區(qū)域,,調(diào)用lambda,并將所有數(shù)據(jù)按每行或列分組,,然后返回一組單個值,。
這兩個函數(shù)很好,因為它們允許進(jìn)行以前不可能的計算,,它們會產(chǎn)生數(shù)組,。
例如,假設(shè)有一些追蹤一周中每一天的溫度數(shù)據(jù),,想要看到一周平均氣溫高于85華氏度的日子,。如下圖4所示。
圖片
4
如果沒有BYROW,,將需要創(chuàng)建一個輔助列,,并使用一組公式計算平均值,然后可能使用篩選或其他一些功能,。
使用BYROW,,可以創(chuàng)建一個滿足約束條件的LAMBDA,然后將結(jié)果傳遞給FILTER函數(shù),。
公式如下:
=FILTER(2, BYROW(2,LAMBDA(week, AVERAGE(week)>85)))
結(jié)果如下圖5所示,。
圖片
5
現(xiàn)在,假設(shè)希望看到以攝氏度為單位的數(shù)據(jù),??梢酝ㄟ^使用MAPCONVERT來包裝我們的調(diào)用,,以攝氏度為單位進(jìn)行快速更新并獲得結(jié)果:
=MAP(FILTER(2, BYROW(2, LAMBDA(week, AVERAGE(week)>85))), LAMBDA(value, IF(ISNUMBER(value), CONVERT(value, 'F', 'C'), value)))
結(jié)果如下圖6所示。
圖片
6
完整的函數(shù)列表
下面是LAMBDA新函數(shù),。
MAP函數(shù),,通過應(yīng)用lambda創(chuàng)建新值,將數(shù)組中的每個值映射到新值,,返回一個數(shù)組,。參數(shù)array1,要映射的數(shù)組,;參數(shù)lambda_or_array,,LAMBDA,必須是最后一個參數(shù),,并且必須為傳遞的每個數(shù)組或要映射的另一個數(shù)組指定一個參數(shù),。LAMBDA參數(shù),array1:從array1中的值,,array2:從添加數(shù)組中的值……,。
REDUCE函數(shù),通過對每個值應(yīng)用LAMBDA函數(shù)并在累加器中返回總值,,將數(shù)組縮減為累加值,。參數(shù)initial_value,為累加器設(shè)置開始值,;參數(shù)array,,要縮減的數(shù)組;參數(shù)lambda:被調(diào)用以縮減數(shù)組的LAMBDA,,該LAMBDA接受兩個參數(shù),,累加器和值。LAMBDA參數(shù),,accumulator:從LAMBDA中返回的值,;value:從數(shù)組中的值。
SCAN函數(shù),,通過對每個值應(yīng)用LAMBDA掃描數(shù)組,,并返回具有每個中間值的數(shù)組。參數(shù)initial_value:為累加器設(shè)置開始值,;參數(shù)array:用于掃描的數(shù)組,;參數(shù)lambda:被調(diào)用來掃描數(shù)組的LAMBDALAMBDA接受兩個參數(shù),,累加器和值,。LAMBDA參數(shù),accumulator:從LAMBDA中返回的值,;value:從數(shù)組中的值,。
MAKEARRAY函數(shù),,通過應(yīng)用LAMBDA函數(shù),返回指定行和列大小的計算數(shù)組,。參數(shù)rows:數(shù)組的行數(shù),,必須大于0;參數(shù)cols:數(shù)組的列數(shù),,必須大于0,;參數(shù)lambda:被調(diào)用以創(chuàng)建數(shù)組的LAMBDA,該LAMBDA接受兩個參數(shù),,row_indexcolumn_indexLAMBDA參數(shù),,row_index:行的索引,;column_index:列的索引。
BYROW函數(shù),,將LAMBDA應(yīng)用于每一行并返回結(jié)果數(shù)組,。參數(shù)array,按行分隔的數(shù)組,;參數(shù)lambda,,一種將一行作為一個參數(shù)并計算一個結(jié)果的LAMBDALAMBDA參數(shù),,value:從數(shù)組中的值,。
BYCOL函數(shù),將LAMBDA應(yīng)用于每一列并返回結(jié)果數(shù)組,。參數(shù)array,,按列分隔的數(shù)組;參數(shù)lambda,,一種將列作為單個參數(shù)并計算一個結(jié)果的LAMBDA,。LAMBDA參數(shù),value:從數(shù)組中的值,。
ISOMITTED函數(shù),,檢查值是否丟失,并返回TRUEFALSE,。參數(shù)argument,,想要測試的值,例如LAMBDA參數(shù),。
可選參數(shù)
LAMBDA現(xiàn)在支持可選參數(shù),。要使用可選參數(shù),只需將可選參數(shù)名稱放置在“[]”中即可,。例如:
=LAMBDA(param1, [param2], IF(ISOMITTED(param2), param1, param2))
如果省略param2,,則此lambda將返回param1的值,,否則返回param2的值。
注:本文學(xué)習(xí)整理自微軟官方網(wǎng)站,,供參考,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多