當前位置: 妍妍網 > 辦公

新函式Scan, 具有掃描功能的超級函式

2024-04-07辦公

SCAN ,Excel365新增的函式( WPS也已增加 ),一個超冷門的函式。但它卻是一個內建掃描功能的超級函式。

語法:

註:這個函式會配合lambda函式遍歷陣列中的每個值,透過判斷等運算把處理後的每一次結果儲備在初始值中。

來個簡單的例子

A列日期,B列是銷量,現要求在C列計算銷量大於5的累計銷量,可以用Countif函式統計:

=COUNTIF(B$2:B2,">5")

如果用Scan函式,公式則為:

=SCAN( 0 ,B2:B16,LAMBDA( X , Y ,IF( Y >5, X +1, X )))

註: 0 是初始值, X 是每一步初始值變化後的值, Y 是區域(B2:B16)中的每個值。 F( Y >5, X +1, X ) 根據Y值判斷,改變X值每一個步的值。

估計很多同學迷糊了,有簡單的Countif公式,還要Scan這麽復雜的公式?

當然有用,它生成的是一個記憶體陣列。哇,越來越暈了?好吧,還是看一個範例

估計很多人都被 合並單元格 的問題困擾過,如下面的含合並單元格的多條件尋找,因為B列是合並單元格,什麽xlookup,Lookup都無法尋找出結果。

而SCAN則可以完成合並單元格的批次填充值,

=SCAN(,B$2:B$19,LAMBDA(X,Y,IF(Y="",X,Y)))

註:初始值為空白,利用Y對B列值進行逐個判斷,如果為空則該次結果還是上次的初始值X,否則為Y值。

有了這樣的結果,就可以利用Xlookup進行多條件尋找了。

=XLOOKUP(K2&L2, SCAN(,B$2:B$19,LAMBDA(X,Y,IF(Y="",X,Y))) &C$2:C$19,E$2:E$19)

蘭色說 :除了SCAN,新增函式中還有MAP、 REDUCE有遍歷功能,這以前只有VBA中才可以實作的效果,可以讓公式變得無法強大。

蘭色根據多年經驗,錄制了一全套適合新手和初中級階段使用者學習的Excel教程。包括 Excel表格88個函式用法( 即將更新幾十個新函式 )、119個使用技巧、透視表從入門到精通50集、圖表從入門到精通186集 。( 綠卡會員 有效期內 免費 )詳情點選下方連結