到一位數計算

到一位數計算

請幫我在Excel中找到結果儲存格中的函數,然後進行計算。

ID     Result  Calculation  
12345  6       >>1+2+3+4+5=15   >>1+5   =6  
21436  6       >>2x1x4x3x6=144  >>1x4x4 = 16 >>1x6  =6  
12345  2       >>1x2x3x4x5=120  >>1x2   =2    Omit zero digit

答案1

首先,如果您不想要一些非常複雜的程式碼,您需要將其放入巨集中。如果您嘗試將其放入 1 個單元格中,它可能會超過 200 個字元長並且無法偵錯。

像這樣的事情:

assuming var "in" contains the string

accumulator=0
for a=1 to len(in)
accumulator=accumulator*value(mid(trim(in),a,1))
next a

sum=0
while accumulator>9
for b=0 to len(accumulator)
sum=sum*value(mid(trim(accumulator),a,1))
next b
accumulator=sum
sum=0
wend

筆記: 您根據未知的標準從乘法切換到加法,因此我無法為此編寫程式碼。

答案2

對於加法,根據第 1 行,您可以減少到一位數字,如下所示:

=MOD(A2-1,9)+1

但你也想對乘法做同樣的事情嗎?正如 cybernard 所說,我不明白你如何確定將哪一個用於單獨的乘法公式,假設最多 3 次迭代,原始版本中最多 10 位數字嘗試這個公式

=PRODUCT(SUBSTITUTE((0&MID(PRODUCT(SUBSTITUTE((0&MID(PRODUCT(SUBSTITUTE((0&MID(A2,ROW(INDIRECT("1:10")),1))+0,0,1)+0),ROW(INDIRECT("1:10")),1))+0,0,1)+0),ROW(INDIRECT("1:10")),1))+0,0,1)+0)

CTRL用+ SHIFT+確認ENTER

相關內容