アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel 2002を使っています。
セル内の数字を各々足し、その結果を別のセルに出力する方法はあるのでしょうか。
例えば、
     A      B      C
---------------------------------------------
1| 12345678 |      |      |

となっている時に、
1+2+3+4+5+6+7+8を計算してB1に出力させるといった具合にです。
よろしくお願いします。

A 回答 (7件)

B1 = IF(COUNT(A1),SUMPRODUCT(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)*1),"")



とします。B2から下や任意のセルにコピーできます。



ほとんど同じ意味ですが。配列数式を使って、

B1 = IF(COUNT(A1),SUM(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)*1),"")

  配列数式を登録するには、入力時に Ctrl+Shift+Enter とします。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
うまくいきました!
今回、「エクセルではできないかも。」と半分あきらめていたので感激です。
ありがとうございました。

お礼日時:2004/02/14 13:30

多分ご意向に合わないでしょうが、数字を各列にばらして


足し合わせる方法をやって見ました。
A列に数字を入れる。
B1に=MOD(INT($A1/10^(COLUMN()-2)),10)をいれ
I1まで複写する。
B1をB2に複写し、B2をI2まで複写する。
同じように3,4行目も行う
J列に=SUM(B1:I1)といれて下に複写する。
(テスト実例結果)A1:j4
123321000006
243456788765434239
34566543000018
134555543100018
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
うまくいきました!
技あり!という感じですね。
ありがとうございました。

お礼日時:2004/02/14 13:22

ツール-マクロ-VBEでVBE画面になる。


挿入-標準モジュールで白紙画面が出ます。そこに
Function ketat(a)
t = 0
For i = 1 To Len(a)
t = t + Mid(a, i, 1)
Next i
ketat = t
End Function
をコピーして貼りつけます。
3行めの意味は「桁数だけ」
4行目の意味はそれまでの桁の中間合計にその桁数字を加えています。
シートでA列に数字があるとして
B列B1に=ketat(A1)といれ、B2以下にB1式を複写します。
(テスト実例)
1236
2434567839
345618
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
VBE画面で貼り付けた後はAlt+Qでエクセルに戻っても良いのでしょうか?
B1に=ketat(A1)を入力したのですが、「名前が適切ではありません:ketat」と出てきてしまいます。

お礼日時:2004/02/14 13:17

一つのセルに入っているのですよね。

数値はどのように分類するのでしょうか?
12345とあった場合は、1+2+3+4+5?12+34+5?色々なパターンが発生しますよね。例えば、数字の区切りに(1,2,3,4,5とか12,34,5のように)何か工夫があるのでしょうか。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
1+2+3+4+5のように出力させたいと思っています。
区切りなどはつけていません。

お礼日時:2004/02/14 13:07

こんにちは。

maruru01です。

B1に、

=SUMPRODUCT(--MID(A1,ROW(A1:INDEX(A:A,LEN(A1))),1))

と入力します。
なお、A1に数値でない文字が含まれているとエラーになります。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
うまくいきました。
しかし、今回はA1、A2、A3、…とA列に8桁の数字が沢山ありそれぞれの結果をB列に表示させたいと思っており、B1に
=SUMPRODUCT(--MID(A1,ROW(A1:INDEX(A:A,LEN(A1))),1))
と入力し、以下オートフィルでコピーしたのですがB1以外はうまくいきません。
言葉が足りずすみませんでした。

お礼日時:2004/02/14 13:05

半角で数式バーに


=1+2+3+4+5+6+7+8+9
ですね。
各数字がそれぞれセルにある場合、
=A1+B1+C1・・・・
とされるとよいでしょう。
セルの数字を変更すると、合計も自動で変更してくれます。
    • good
    • 0
この回答へのお礼

すみません、今回は一つのセルに8桁の数字があるという前提ですので…
ありがとうございました。

お礼日時:2004/02/14 12:47

A1が12345678の時は、ご面倒でしょうがB1のセルで


=1+2+3+4+5+6+7+8と入力してEnterで合計36になります。
そう意味のご質問解釈でよかったのかなぁ?

違っていれば補足をお願いしますね。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
今回、実はA列に8桁の数字が沢山あるという設定でして、B列には関数を使って結果が出せると望ましいと思っていました。言葉が足りずすみませんでした。

お礼日時:2004/02/14 12:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!