Пожалуйста, помогите мне в 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

2 ответа2

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

Примечание. Вы переходите с умножения на добавление по неизвестным критериям, поэтому я не смог написать код для этого.

0

Кроме того, согласно строке 1 вы можете сократить до одной цифры, например:

=MOD(A2-1,9)+1

но вы тоже хотите сделать то же самое для умножения? Как говорит Кибернард, я не понимаю, как вы определяете, что использовать для отдельной формулы умножения, предполагая не более 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .