Para um cálculo de dígito

0

Por favor, me ajude no excel para encontrar funções na célula de resultado, seguindo por cálculo.

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
    
por user277737 28.11.2013 / 17:01

2 respostas

1

Primeiro, se você não quer um código horrivelmente complexo, você precisa colocá-lo em uma macro. Se você tentou colocá-lo em 1 célula, provavelmente teria mais de 200 caracteres e seria impossível depurá-lo.

Algo parecido com isto:

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

Observação: você muda de multiplicar para adicionar com base em critérios desconhecidos, portanto, não consegui codificar isso.

    
por 28.11.2013 / 19:49
0

Para adição, conforme a linha 1 você pode reduzir para um único dígito assim:

=MOD(A2-1,9)+1

mas você também quer fazer o mesmo para multiplicação? Como cybernard diz, eu não vejo como você está determinando qual usar isso para uma fórmula de multiplicação separada, assumindo 3 iterações no máximo e até 10 dígitos no original tente esta fórmula

=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)

confirmado com CTRL + SHIFT + ENTER

    
por 28.11.2013 / 19:48