
計算後の結果セル内の関数を 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 行目に従って、次のように 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