
Excel(2002以降)で、たとえば
セルA1に 33,2,55,764
セルA2に 654,654,8,165,46
のように、カンマ区切りで数字が入っていて、
その数字の合計をB列に表示させるということは可能でしょうか?
試算用にB列・C列などを使い、結果をD列、などという方法でも大丈夫ですが、数字がいくつに分けられるかはわからない(極端な話100個や200個の可能性もある)ので、その分のセルを確保するのは無理です。
数字はいくつ入っているかはセルごとに違い、何も入っていない場合や1つしかない場合もあります。
カンマを+に置換して計算させるような関数があればできそうだと思ったのですが、ヘルプでは探しだせませんでした。
なにかいい方法があればお願いします。
No.4ベストアンサー
- 回答日時:
こんにちは。
次の方法を試してみてください。
***
B1に↓を入れ、以下オートフィルでコピー
------------------------
=SUBSTITUTE(A1,",","+")
------------------------
B1セルを選択した状態で、
メニュー<挿入>-<名前>-<定義>
▽
いちばん上の欄に適当な名前を入力(例:keisan)
▽
いちばん下の「参照範囲」欄に
↓のように入力してOKをクリック(Sheet1なら)
-------------------------
=EVALUATE(Sheet1!$B1)
-------------------------
絶対参照を間違えないようにしてください。
$B1 です。
▽
C1に↓を入力して、以下オートフィルでコピー
----------------------------------------
=keisan
--------
C列に計算結果が表示されると思います。
空白セルの場合はエラーになりますので
それを表示させないようにするには、
↓のようにしてください。
-------------------------------
=IF(B1="","",keisan)
-------------------------------
まさに求めていた方法でした。ありがとうございます。
ところで、EVALUATEというのはなんなのでしょうか?
Excelのヘルプでは出てこないですが・・・。
No.7
- 回答日時:
すみません、No.4です。
>極端な話100個や200個の可能性もある
No.4の方法では、
セルに入っている数値の個数に限界があるようです。
ちょっとテストしてみたところ
1桁の数字で130個あたり、
3桁の数字で 65個以上ぐらいでエラーになりました。
回避策はわかりません・・・すみません。
No.5、No.6の方のユーザー定義関数を試してみてください。
>EVALUATEというのはなんなのでしょうか?
VBAのメソッドにもありますが、
この場合は、VBAの前身(?)、 EXCEL4.0マクロの関数です。
No.6
- 回答日時:
VBAのユーザ定義関数で
Public Function add(CVS As String) 'カンマ区切りの文字列の数値を足し算する
Dim a, x, sum
a = Split(CVS, ",")
sum = 0
For Each x In a
sum = sum + x
Next
add = sum
End Function
として、
B1
=add(A1)
として下にコピー
No.5
- 回答日時:
> 100個や200個の可能性もある)ので、その分のセルを確保するのは無理です。
そういうことであれば、VBAによるユーザー定義関数を使うよりないと思います。
宜しかったら、次の手順でテストしてみてください。
CommaSplitAdd関数の設定手順
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
これで、CommaSplitAdd関数が使用出来ます。
書式:
= CommaSplitAdd(カンマで区切られた文字列式)
仕様
カンマで区切られた数字を加算します。
文字列式に数字以外が含まれている場合は、その文字を無視します。
使用例:
セルA1に 33,2,55,764 が入力されているとき、
= CommaSplitAdd(A1)
で、854 が表示されます。
一般の関数のように使用することが出来ます。
これで、如何でしょうか。
Function CommaSplitAdd(CelStr As String)
Dim N As Long
Dim WStr As String
Dim W As String
Dim ValSum As Currency
For N = 1 To Len(CelStr & ",")
W = Mid(CelStr & ",", N, 1)
If IsNumeric(W) Then
WStr = WStr & W
Else
If W = "," Then
ValSum = ValSum + Val(WStr)
WStr = ""
End If
End If
Next N
CommaSplitAdd = ValSum
End Function

No.3
- 回答日時:
FIND関数を絡めて、LEFT関数や、RIGHT関数は使えませんか。
※カンマ区切りでは支障が出るようなので、半角スペース区切りに変更しました。
A1に 10 32 200 10
B1に =LEFT(A2,FIND(" ",A2)-1)
C1に =RIGHT(A2,LEN(A2)-FIND(" ",A2))
D1に =LEFT(C2,FIND(" ",C2)-1)
E1に =RIGHT(C2,LEN(C2)-FIND(" ",C2))
:
:
といったようにしていけば(もう少しきれいな書き方があると思いますが)、可能は可能ですが、A1に100個の数字が含まれる場合、作業領域にいったいどれだけ使う気かという状態になってしまいますし、どうしてもA1に書ける数字の個数に制限ができてしまいます・・。
最初に考えたのは
B1に ="="&SUBSTITUTE(A2," ","+")
とし、この文字列の式を数式として計算してくれる関数があれば、と思ったのですが、存在しないのでしょうかね・・・。
No.2
- 回答日時:
A列を選択して「CTRL+H」で置換機能を使用し「,」から「+」に置換します。
B列に「="あ"&A1」と式を組み、置換した文字列の先頭に「あ」という文字をつけます。
B列をコピーしC列に〈形式を選択して貼り付け→値)と値のみを貼り付けます。
B列の選択し「あ」から「=」に置換します。
もっとスムーズなやり方があるかもしれませんが、これぐらいしか思いつきませんね。
それではA列が変更するたびにB列も計算させなおさないといけませんよね。
A列は形式を変更せず(カンマで区切った0個以上の数字)、その和を隣に自動計算させたいのです。
マクロを使えばy0923さんの方法でも自動計算させられますが、もうちょっとスマートな方法がないかと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
エクセルの一つのセル内に2つの数値を配置したい
その他(Microsoft Office)
-
エクセルでひとつのセルに複数の数字があり合計を出す
Excel(エクセル)
-
エクセルで、同一セル内に自動的に足し算をすることはできますか?
その他(Microsoft Office)
-
-
4
カンマで区切った数値をCOUNTIFで数えたい
Excel(エクセル)
-
5
【エクセル】セルの中に数字と文字があり数字だけを足す方法
Excel(エクセル)
-
6
同一セル内に数字・文字がある場合の計算式
Excel(エクセル)
-
7
エクセルで、1つのセルで上書き足し算できますか?
Excel(エクセル)
-
8
複数セルに入力した数字をカンマを入れてつなげる
Excel(エクセル)
-
9
Excelでカンマ区切りの合計をユーザ関数で得たい
その他(プログラミング・Web制作)
-
10
1桁ずつセルごとに振り分けられた数字を合計する方法
Excel(エクセル)
-
11
エクセルで文字と数字が入っているセルを足すには
Excel(エクセル)
-
12
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで特定の文字が入って...
-
エクセルで、2種類のデータを...
-
Excel 指定行までコピーをおこ...
-
Excelで中央揃えが出来ない?
-
エクセルのまとめてカッコをつ...
-
数値の列から偶数のみを抽出す...
-
桁の違う数値での並び替え
-
Excelの特定のセルを1つおきに...
-
連続データを1行おきに貼り付け...
-
エクセル、11と1の区別
-
エクセルで、数字列の中にハイ...
-
セル内文章から、英数字のみ取...
-
エクセルに入力した文字列に句...
-
INDIRECTの列を可変にしたい
-
空白への0入力 二次元配列(VBA)
-
マクロ(Excel)で上下のセルの...
-
エクセルの関数
-
Excel 頭に「0」がついている...
-
excelで、1つのセルに入ってい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで特定の文字が入って...
-
エクセルで、2種類のデータを...
-
Excelで中央揃えが出来ない?
-
エクセルのまとめてカッコをつ...
-
Excel 指定行までコピーをおこ...
-
桁の違う数値での並び替え
-
Excel 頭に「0」がついている...
-
数値の列から偶数のみを抽出す...
-
エクセルに入力した文字列に句...
-
エクセルで、数字列の中にハイ...
-
Excel強制終了
-
excelで、1つのセルに入ってい...
-
連続データを1行おきに貼り付け...
-
Excelのデータ間引きについて
-
エクセルの関数
-
excel: 2行ずつ間隔を空けて関...
-
Excel2013 カラースケールを別...
-
Excelの結合でA列とB列の内容...
-
エクセルで、数値の範囲で仕分...
おすすめ情報