欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

辦公效率提升的得力助手! WPS新增函數(shù)REDUCE基礎應用詳解

  發(fā)布時間:2025-08-28 10:08:31   作者:佚名   我要評論
WPS作為常用的辦公軟件,不斷推陳出新,其新增的函數(shù)功能為用戶帶來了極大的便利,特別是REDUCE函數(shù)是這次新增這些函數(shù)中一個非常強大的存在,下面我們就來看看這個函數(shù)的使用方法

WPS新增了一系列函數(shù),新增的這一系列函數(shù),讓WPS在處理表格數(shù)據(jù)時,大大提高了工作效率和處理表格數(shù)據(jù)的能力,特別是REDUCE函數(shù)是這次新增這些函數(shù)中一個非常強大的存在。下面列舉一些例子來分享REDUCE函數(shù)的基本用法,希望給大家?guī)硪恍W習REDUCE函數(shù)的幫助。

一、REDUCE函數(shù)概念及語法

REDUCE函數(shù)通過將LAMBDA函數(shù)應用到每個值并返回累加器中的總值將數(shù)組減小為累計值。它既可以循環(huán)返回單值,也可以將每步循環(huán)的結(jié)果顯示出來,在實際應用中,疊加數(shù)組、變換表格樣式等場景下應用非常多。思路上能用循環(huán)每個元素進行運算然后將結(jié)果堆疊起來解決的問題,差不多都可以考慮REDUCE函數(shù)。

WPS表格中,REDUCE函數(shù)的語法如下:

REDUCE(初始值,數(shù)組,函數(shù)),通過將LAMBDA函數(shù)應用到每個值并返回累加器中的總值將數(shù)組減小為累計值。

在實際應用中REDUCE函數(shù)語法:

REDUCE(初始值,數(shù)組,LAMBDA(x,y,計算公式)),第一參數(shù)為初始值,可以是單值也可以是數(shù)組;第二參數(shù)是要循環(huán)的數(shù)組,也可以只是用來控制循環(huán)次數(shù)的數(shù)組,REDUCE函數(shù)循環(huán)的次數(shù)由第二參數(shù)數(shù)組的元素數(shù)量來決定;第三參數(shù)是LAMBDA函數(shù),確定第二參數(shù)需要執(zhí)行的運算,并將運算結(jié)果形成下一步運算的初始值。x代表每次循環(huán)時的初始值,每次循環(huán)后更新(值不一定更新,可以判斷保留上步運算值),y代表循環(huán)數(shù)組中的每個元素。當然,也可以使用其他數(shù)字分別代表初始值和循環(huán)數(shù)組的元素。

REDUCE函數(shù)的第一個參數(shù)是累加器的起始值,第二個參數(shù)是循環(huán)的數(shù)組,接著是LAMBDA函數(shù)后面的兩個形式參數(shù),例如用x、y來表示,之后是計算公式。它的計算原理是:它把第二個參數(shù)數(shù)組中的第一個值傳遞給LAMBDA函數(shù)后面的形式參數(shù)y,進行一個計算,之后再把計算的結(jié)果以某種方式存儲在累加器x中,之后再傳入第二參數(shù)數(shù)組中的第二個值進行計算,然后與上一步累加器存儲的數(shù)據(jù)進行運算,再把運算的結(jié)果存入累加器x,如此循環(huán)下去,直到第二參數(shù)數(shù)組中的所有數(shù)據(jù)都被遍歷完成,這樣函數(shù)的計算才停止下來。

二、下面通過一些常用場景的例子來說明REDUCE函數(shù)的用法

1.下面公式可以把B2:B3單元格區(qū)域的數(shù)據(jù)拆分后堆疊為一列新的數(shù)據(jù):

公式:=REDUCE("",B2:B3,LAMBDA(x,y,VSTACK(x,TEXTSPLIT(y,,"、"))))

REDUCE函數(shù)是循環(huán)函數(shù),其中x和y分別代表第一參數(shù)和第二參數(shù)中的每一個值,LAMBDA函數(shù)運算生成的結(jié)果作為循環(huán)后的新x。

以上例子,x的初始值是"",即空值,循環(huán)B2:B3單元格區(qū)域,VSTACK對x值進行縱向堆疊。第一次循環(huán)x初始值是空值,y值是“張三豐、李四喜”,新x值為執(zhí)行TEXTSPLIT函數(shù)拆分后的數(shù)據(jù),即“張三豐”、“李四喜”兩行數(shù)據(jù)。第二次循環(huán)時x值為“張三豐”、“李四喜”兩行數(shù)據(jù),y值為“王小五、燕小六、沈七七”,新x值為執(zhí)行TEXTSPLIT函數(shù)拆分后的數(shù)據(jù),即“王小五”、“燕小六”、“沈七七”兩行數(shù)據(jù)。VSTACK函數(shù)對x的結(jié)果時行堆疊就得到了一列數(shù)據(jù)。

對合并數(shù)據(jù)展開,根據(jù)合并人員姓名,把組別和姓名分別展開:

公式:=REDUCE(A1:B1,B2:B3,LAMBDA(x,y,VSTACK(x,IFNA(HSTACK(OFFSET(y,,-1),TEXTSPLIT(y,,"、")),OFFSET(y,,-1)))))

對相同項合并,根據(jù)相同組別,合并姓名項:

公式:=REDUCE(A1:B1,UNIQUE(A2:A6),LAMBDA(x,y,VSTACK(x,HSTACK(y,ARRAYTOTEXT(FILTER(B2:B6,A2:A6=y),0)))))

對相同項合并,根相同組別,合姓名項,同時在前面加序號:

公式:=REDUCE(HSTACK("序號",A1:B1),UNIQUE(A2:A6),LAMBDA(x,y,VSTACK(x,HSTACK(ROWS(x),y,ARRAYTOTEXT(FILTER(B2:B6,A2:A6=y),0)))))

2.例如,下面公式可以給連續(xù)相同的數(shù)據(jù)編號,REDUCE函數(shù)當次循環(huán)時可以引用上次循環(huán)后的x值:

公式:=REDUCE({"數(shù)據(jù)","序號"},A2:A15,LAMBDA(x,y,VSTACK(x,HSTACK(y,IF(y=TAKE(x,-1,1),TAKE(x,-1,-1)+1,1)))))

REDUCE函數(shù)第二參數(shù)A2:A15是循環(huán)的次數(shù),IF(y=TAKE(x,-1,1),TAKE(x,-1,-1)+1,1)是判斷當前x最后一行的第一個元素是不是等于當前循環(huán)的y,如果相等,則用當前x最后一行的第二個元素+1,否則就是另外一組的新開始,就重新編號1。然后得到上面的結(jié)果之后,用HSTACK函數(shù)將當前的y和編號橫向連接在一起。最后用VSTAK函數(shù)將x和當前行生成的數(shù)組連接起來。也就是在當前循環(huán)運算時,可以充分引用和利用已經(jīng)生成的x值,例如判斷某個數(shù)據(jù)已經(jīng)出現(xiàn)的次數(shù),可以用SUM(N(y=x))這種去判斷。

返回連續(xù)姓名值的金額匯總:

公式:=REDUCE({"姓名","合計"},A2:A9,LAMBDA(x,y,IF(@TAKE(x,-1)=y,VSTACK(DROP(x,-1),HSTACK(y,SUM(TAKE(x,-1))+OFFSET(y,,1))),VSTACK(x,OFFSET(y,,,,2)))))

以下是,對上面應用場景的變形:

公式:=REDUCE("",A2:A7,LAMBDA(x,y,LET(s,@TAKE(x,-1),t,s=y,VSTACK(DROP(x,-t),IF(t,HSTACK(OFFSET(y,,,,4),TAKE(x,-1,-1)+1),HSTACK(OFFSET(y,,,,4),1))))))

3.根據(jù)指定次數(shù),生成重復值:

公式:=REDUCE(A1,B2:B5,LAMBDA(x,y,VSTACK(x,REPTARRAY(OFFSET(y,,-1),y))))

公式:=REDUCE(A1:B1,B2:B5,LAMBDA(x,y,VSTACK(x,HSTACK(IFNA(EXPAND(OFFSET(y,,-1),y),OFFSET(y,,-1)),SEQUENCE(y)))))

4.金額拆分,對合并人員匯總金額拆分到每個人:

公式:=REDUCE(B1:C1,B2:B3,LAMBDA(x,y,VSTACK(x,LET(t,TEXTSPLIT(y,,"、"),s,OFFSET(y,,1)/ROWS(t),IFNA(HSTACK(t,s),s)))))

對以上例了,升級匯總相同姓名的合計數(shù):

公式:=REDUCE(B1:C1,B2:B5,LAMBDA(x,y,LET(v,VSTACK(x,LET(t,TEXTSPLIT(y,,"、"),s,OFFSET(y,,1)/ROWS(t),IFNA(HSTACK(t,s),s))),GROUPBY(TAKE(v,,1),TAKE(v,,-1),SUM,3,0))))

5.相同產(chǎn)品不同單價,匯總求和:

公式:=REDUCE(G1:J1,A4:A6,LAMBDA(x,y,VSTACK(x,LET(s,(A4:A6=y)*B3:E3*B4:E6,HSTACK(SUBSTITUTE(y,"銷量",),SUM(s),MAP(B2:C2,LAMBDA(z,SUM((B2:E2=z)*s))))))))

6.字符串的逆轉(zhuǎn),即數(shù)據(jù)前后位置互換

公式:=REDUCE("",MID(A1,SEQUENCE(LEN(A1)),1),LAMBDA(x,y,y&x))

7.字符串替換

公式:=TEXTSPLIT(REDUCE(CONCAT(A2:A6&","),B2:B4,LAMBDA(x,y,SUBSTITUTE(x,y&",",))),,",",1)

8.對數(shù)據(jù)去重后進行統(tǒng)計

公式:=REDUCE(A2:B2,UNIQUE(A3:A12),LAMBDA(x,y,VSTACK(x,HSTACK(y,ROWS(UNIQUE(FILTER(A3:B12,A3:A12=y)))))))

9.多個工作表,每個工作表里有唯一查找值,查找引用

公式:=REDUCE(0,ROW(1:3)&"月",LAMBDA(x,y,x+IFERROR(VLOOKUP(A2,INDIRECT(y&"!A:B"),2,0),"")))

REDUCE函數(shù)是WPS新增的一個強大又實用函數(shù),它的應用場景是很廣泛的,以上僅是部分基礎應用案例。

推薦閱讀:excel新函數(shù)REDUCE來了! Excel中REDUCE函數(shù)使用詳解和相關案例

相關文章

最新評論