한 자리 계산에

한 자리 계산에

계산에 따라 결과 셀에서 함수를 찾으려면 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

관련 정보