精确到一位数计算

精确到一位数计算

请帮助我在 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++SHIFTENTER

相关内容