Board logo

標題: [發問] 相加的標的儲存格有多個值 [打印本頁]

作者: ziv976688    時間: 2021-7-15 16:58     標題: 相加的標的儲存格有多個值

Sheet1
B2=IF(R2<>"",IF(MOD(J2+R2,49),MOD(J2+R2,49),49),"")
因為R2:X12的某些標的儲存格有多個值,所以答案會顯示"#VALUE!";
希望能將答案呈現如Sheet2。

請問:Excel2003版本的Sheet2!B2函數應如何編寫?
謝謝!
[attach]33651[/attach]
作者: ML089    時間: 2021-7-16 10:19

B2陣列公式
=LEFT(TEXT(SUM(TEXT(MOD(J2+(0&TRIM(MID(SUBSTITUTE(R2,",","         "),1+{0,1,2,3,4}*9,9))),49),"[=0]!49")*10^{8,6,4,2,0}),"00!,00!,00!,00!,00"),IF(R2="",0,CHOOSE(1+LEN(R2)-LEN(SUBSTITUTE(R2,",",)),2,5,8,11,13)))

目前公式限制5組數字合併( 11,22,33,44,55 )
因為Microsoft Excel 會保留 15 個有效位數,所以公式最多7組數字合併,當然也可以拆為兩組公式來合併增加。
作者: ziv976688    時間: 2021-7-16 10:26

回復 2# ML089
測試成功
您太厲害了,一般公式就可以解決。
萬分感謝您的指導和幫忙
作者: ML089    時間: 2021-7-16 10:31

本帖最後由 ML089 於 2021-7-16 10:33 編輯

[attach]33658[/attach]

修改S11、M11一些數字來測試 相加為49時的處理情況
作者: ML089    時間: 2021-7-16 10:49

回復 3# ziv976688

前面公式有點小錯誤13須改為14,修正如下
=LEFT(TEXT(SUM(TEXT(MOD(J2+(0&TRIM(MID(SUBSTITUTE(R2,",","         "),1+{0,1,2,3,4}*9,9))),49),"[=0]!49")*10^{8,6,4,2,0}),"00!,00!,00!,00!,00"),IF(R2="",0,CHOOSE(1+LEN(R2)-LEN(SUBSTITUTE(R2,",",)),2,5,8,11,14)))

或將CHOOSE改為直接計算
=LEFT(TEXT(SUM(TEXT(MOD(J2+(0&TRIM(MID(SUBSTITUTE(R2,",","         "),1+{0,1,2,3,4}*9,9))),49),"[=0]!49")*10^{8,6,4,2,0}),"00!,00!,00!,00!,00"),IF(R2="",0,2+3*(LEN(R2)-LEN(SUBSTITUTE(R2,",",)))))
作者: ziv976688    時間: 2021-7-16 11:16

回復 5# ML089
再次謝謝版主的耐心指導和多次的熱心幫忙。感恩




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)