プロが教える店舗&オフィスのセキュリティ対策術

エクセル2003の集計で

セルA列にコンマ区切りで数値が入っているのですが
これをセルB列でで集計することってできますか?
A列の数値の数はバラバラです
このような感じです↓

A1 1,2,3 B1 6
A2 2,3 B2 5
A3 9,1,7 B3 17

よろしくお願いします

A 回答 (7件)

添付図参照


D1: =IF(COLUMN(A1)<LEN($A1)-LEN(SUBSTITUTE($A1,",",""))+2,MID($A1,COLUMN(A1)*2-1,1)+0,"")

セル D1 を右へズズーッと(此処ではセル M1 まで)ドラッグ&ペースト

B1: =SUM(D1:M1)

範囲 B1:M1 を下方へズズーッとドラッグ&ペースト
「エクセル2003の集計で」の回答画像7
    • good
    • 0
この回答へのお礼

分解して別セルで計算するとはいいアイデアですね
ありがとうございました

お礼日時:2010/06/02 09:09

一例です。


マクロしかないと思います。

Sub データ集計()
For Each a In Range("A:A")
If a = "" Then Exit Sub
c = Application.WorksheetFunction.Substitute(a, ",", "+")
Range("b1").Offset(a.Row - 1) = "=" & c
Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました
やはりマクロも勉強しないと駄目ですね

お礼日時:2010/06/02 09:08

VBAでユーザ関数を作成した方が楽だと思います。


【例】
 B1 =SumComma(A1)

【VBA】
 Function SumComma(ByVal カンマデータ As Variant) As Variant
  SumComma = Evaluate(Replace(カンマデータ, ",", "+"))
 End Function

注)値のチェック(数字等)は行っていません。
    • good
    • 0
この回答へのお礼

ありがとうございました
今回はこのマクロを使わせていただきました

お礼日時:2010/06/02 09:07

難しい式になりますので単純に一桁の数値がカンマで区切られておりカンマが3つまである場合でしたら次の式をB1セルに入力して下方にオートフィルドラッグします。



=IF(LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=1,MID(A1,1,1)*1+MID(A1,3,1)*1,IF(LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=2,MID(A1,1,1)*1+MID(A1,3,1)*1+MID(A1,5,1)*1,IF(LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=3,MID(A1,1,1)*1+MID(A1,3,1)*1+MID(A1,5,1)*1,IF(LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=4,MID(A1,1,1)*1+MID(A1,3,1)*1+MID(A1,5,1)*1+MID(A1,7,1)*1,""))))
    • good
    • 0
この回答へのお礼

やはりいろいろ制約がでてしまうんですね
ありがとうございました

お礼日時:2010/06/02 09:06

とんでもない数式になっちゃいました(^^ゞ


B1セルに
=IF(ISNUMBER(A1),A1,
SUM(0+IF(FIND(",",","&A1&",",ROW($A$1:INDEX(A:A,LEN(A1))))>FIND(",",A1&",",ROW($A$1:INDEX(A:A,LEN(A1)))),0,
MID(A1,FIND(",",","&A1&",",ROW($A$1:INDEX(A:A,LEN(A1)))),FIND(",",A1&",",ROW($A$1:INDEX(A:A,LEN(A1))))-FIND(",",","&A1&",",ROW($A$1:INDEX(A:A,LEN(A1))))))))
[Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる)
「エクセル2003の集計で」の回答画像3
    • good
    • 0
この回答へのお礼

配列まで出てくるとはかなり複雑なんですね
ありがとうございました

お礼日時:2010/06/02 09:05

集計といっても良くわかりません。

例えばB1セルの答えは幾つになるのですか?

この回答への補足

セルA1に1,2,3という文字列があった場合セルB1は6という感じです

補足日時:2010/05/27 16:36
    • good
    • 0

とりあえず、メニューの


データ ‐ 区切り位置
で、カンマ区切りでデータをセルに分けることができるので、それをやってみましょう。

この回答への補足

すいません
それはできることがわかっているのですが他にないかと思いまして質問しました
説明不足で申し訳ありません

補足日時:2010/05/27 16:20
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/06/02 09:04

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