昨天說(shuō)到把任務(wù)號(hào)進(jìn)行一鍵分拆,分拆后的效果如下圖所示,為了實(shí)現(xiàn)分拆后的任務(wù)數(shù)量自動(dòng)分配,還需要繼續(xù)寫(xiě)公式。先把任務(wù)號(hào)重復(fù)項(xiàng)次的次數(shù)標(biāo)記出來(lái),也就是如果任務(wù)出現(xiàn)多次,就進(jìn)行連續(xù)編號(hào)。
舉例說(shuō)明:WK-1分拆了4張任務(wù)號(hào),編號(hào)就是1、2、3、4,這樣的編號(hào)的目的是為了和任務(wù)號(hào)連接在一起形成一個(gè)唯一的數(shù)值,這也是有重復(fù)項(xiàng)經(jīng)常用到的一個(gè)思路。
因?yàn)镴3這里是用動(dòng)態(tài)數(shù)組寫(xiě)的公式,所以繼續(xù)利用這個(gè)思路,把函數(shù)SCAN+LAMBDA的組合繼續(xù)使用,這里錄入公式:
(資料圖)
=SCAN(0,J3#,LAMBDA(X,Y,(Y=OFFSET(Y,-1,))*X+1)),就可以實(shí)現(xiàn)一鍵為任務(wù)號(hào)編號(hào)。
函數(shù)釋義:就是當(dāng)WK-1與上面的單元格對(duì)比的結(jié)果乘X,第1個(gè)X是0,然后根據(jù)這個(gè)結(jié)果多次累加運(yùn)算,以WK-1為案例說(shuō)明:
第1次,此時(shí)X為0, WK-01與任務(wù)對(duì)比,返回結(jié)果0,0*0+1,返回1
第2次,此時(shí)X為1,就是第1次的結(jié)果,WK-1與WK-1對(duì)比,返回結(jié)果1*1+1,返回2,此時(shí)X為2
第3次,此時(shí)X為2,就是第2次的結(jié)果,WK-1與WK-1對(duì)比,返回結(jié)果1*2+1,返回3,此時(shí)X為3
第4次,此時(shí)X為3,就是第3次的結(jié)果,WK-1與WK-1對(duì)比,返回結(jié)果1*3+1,返回4,此時(shí)X為4
重點(diǎn)觀察第5次
第5次,此時(shí)X4,就是第4次的結(jié)果,WK-2與WK-1對(duì)比,返回結(jié)果0*4+1,返回1,此時(shí)X為1,可以發(fā)現(xiàn)X重置為1了。
所以SCAN 函數(shù)就是這樣一次一次“遞歸”運(yùn)算,并把運(yùn)算結(jié)果的過(guò)程一步一步記錄下來(lái)了。
最后一步就是分配任務(wù)數(shù)量,分配任務(wù)數(shù)量的邏輯是這樣的,需要判斷尾數(shù),這里默認(rèn)尾數(shù)就是序號(hào)中最大的數(shù)量,如果滿(mǎn)足任務(wù)號(hào)數(shù)字最大就返回尾數(shù),否則就返回分拆訂單數(shù)量。
這里還有一個(gè)BUG就是尾數(shù)中出現(xiàn)0的話,也需要返回分拆訂單數(shù)量,這樣才能實(shí)現(xiàn)分拆后的任務(wù)數(shù)量與分拆前的任務(wù)數(shù)量完全一致。
寫(xiě)這樣多層的函數(shù)需要一層一層寫(xiě),這樣才能避免邏輯混亂
第一個(gè)判斷:
=IF(XLOOKUP(J3#,B:B,G:G)=I3#,XLOOKUP(J3#,B:B,F:F),XLOOKUP(J3#,B:B,E:E)),得到如下圖結(jié)果,可以看到BUG就是0,也就是沒(méi)有尾數(shù)的會(huì)出現(xiàn)問(wèn)題。
此時(shí)就要把結(jié)果為0的繼續(xù)返回分拆訂單數(shù)量,如果直接引用這個(gè)函數(shù)結(jié)果,公式就會(huì)特別長(zhǎng),此時(shí)引用LET函數(shù),把上面的結(jié)果定義名稱(chēng)為A,再次錄入函數(shù):
=LET(A,IF(XLOOKUP(J3#,B:B,G:G)=I3#,XLOOKUP(J3#,B:B,F:F),XLOOKUP(J3#,B:B,E:E)),IF(A=0,XLOOKUP(J3#,B:B,E:E),A))
就實(shí)現(xiàn)了一鍵分拆,全自動(dòng)生成。
關(guān)鍵詞:

營(yíng)業(yè)執(zhí)照公示信息