• ベストアンサー

EXCEL表の関数の質問です。

EXCEL表で作った1列の数字の合計をするとき、いつもSUMの関数で合計をしてますが、今回1列のそれぞれのセルに計算式がはいっている(たとえば\180×2=¥360とか)ものや、数字だけ(¥500とか)はいっているものが混在しています。これではSUM関数で合計できません。このセルの表示は会社の指示でそのとうりでしか表示できず困っております。このような列のそれぞれのセルの合計を出すにはどうしたらいいでしょうか。どなたか詳しい方、おしえてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! >のそれぞれのセルに計算式がはいっている(たとえば\180×2=¥360とか)ものや、数字だけ(¥500とか)はいっているものが混在しています かなり厄介な表の作り方ですね! 本来であれば表から作り変えた方が良いと思うのですが、 これでは何もお役に立てないので・・・ VBAでの一例です。 A1セルからデータがあるとします。 B列に数値を表示させるとしています。 尚、A列の四則計算の記号(+・-・×・÷)がある場合は必ずイコール(=)が入っているという前提です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If InStr(StrConv(Cells(i, "A"), vbNarrow), "=") > 0 Then Cells(i, "B") = Mid(Cells(i, "A"), InStr(StrConv(Cells(i, "A"), vbNarrow), "=") + 1, 15) * 1 Else Cells(i, "B").Value = Cells(i, "A") * 1 End If Next i Range("B:B").NumberFormatLocal = "G/標準" End Sub 'この行まで ※ 15桁を超えるデータはないという前提です。 何とかご希望に近い形になったでしょうか?m(_ _)m

ginta2000
質問者

お礼

ご回答ありがとうございました。

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>このセルの表示は会社の指示でそのとうりでしか表示できず困っております。このような列のそれぞれのセルの合計を出すにはどうしたらいいでしょうか。 会社の資料の処理方法は上司か先輩に聞きましょう。 質問の内容ではデータがどのようになっているか分かりません。 教えて貰える上司や先輩がいないときは書店で解説書を購入されると良いでしょう。 それでも駄目ならパソコン教室へ通って学習した方が総合的に知識を吸収できます。

ginta2000
質問者

お礼

ご回答ありがとうございました。

関連するQ&A