• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:=SUMを使って計算 0になる)

エクセルで単位付きの数値の合計を計算する方法

このQ&Aのポイント
  • エクセルで単位(Km)がついた数値の合計を計算する方法が分からない。
  • 通常、数字のみの場合は正しく合計が表示されるが、単位が入ると合計が正しく表示されない。
  • 調査した結果、単位の種類や表記方法によって問題が生じることがわかった。

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

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

こんにちは! セル内に手入力で単位が入っている場合は文字列として扱われます。 文字列はいくら合計しても「0」となります。 その場合は数値のみを別セルに表示させ、それを合計する方法しかないと思いますが、 >キロメートルは変換すると 環境依存文字 大文字 小文字 半角 全角いろいろ >あります の部分がさらに問題を難しくしているように思われます。 そこでこの際ですので、B列(←B列は使用していないという前提)に数値のみを表示させ それを合計してみてはどうでしょうか? VBAになってしまいますが・・・ 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, k As Long, str As String, buf As String For i = 1 To 5 For k = 1 To Len(Cells(i, 1)) str = Mid(Cells(i, 1), k, 1) If StrConv(str, vbNarrow) Like "[0-9 "",""]" Then buf = buf & str End If Next k Cells(i, 2) = buf buf = "" Next i End Sub 'この行まで これでB1~B5セルに数値のみが表示されますので、 合計を表示したいセルに =SUM(B1:B5) とします。 ※ すでにそういったデータがある場合はどうしようもないのですが、今後このような操作をする場合は A列を範囲指定 → 右クリック → セルの書式設定 → 表示形式タブ → ユーザー定義 → 「G/標準」となっているところをクリアにして 0"km" のようにします、 これでA列に数値を入力するだけで ○km と表示されます。 小数点以下の桁数を増やしたい場合は 0.00"km" のようにします。m(_ _)m

noa-t
質問者

お礼

ご丁寧なご回答ありがとうございます。 幸いにも 入力していたデータが少なかったので いったんデータを 消去して 最後に明記していただいた 手順に従ってやってみました  >すでにそういったデータがある場合はどうしようもないのですが、今後このような操作をする場合は…… A列を範囲指定 → 右クリック → セルの書式設定 → 表示形式タブ → ユーザー定義 → 「G/標準」となっているところをクリアにして 0"km" ほんとに 簡単に 数字を入力しただけで、〇kmと自動的に表示され 数字として認識できるように できました。SUMを使って 合計もkmで表示されました tom04様 神のようです。感謝感謝です やり方がわかって 助かりました 本当にありがとうございました。 NO1様と どちらにするか 迷いましたが より詳しく説明 してくださったので tom04様をベストアンサーにしたいと思います ありがとうございました

その他の回答 (3)

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.3

そりゃ、kmまで手で入力したら0になります。 数字以外も一緒に入れたら文字だと判断しますので、数字が入っていないため計算結果は0です。 したがって、数値のみ入れるようにするしか無いです。 まあ、文字の表示形式を0"Km"として、セルには数値を入れるだけにすることですね。そうすればセルには数値だけは位って見た目はKmも教示されている形になります。 Kmまで入力してと言うのはできません。

noa-t
質問者

お礼

ご回答ありがとうございます 知識のない自分が恥ずかしいです 皆様のご回答みて 愚問だと感じました 表示形式を ユーザー設定にしてみて 何とか解決いたしました ありがとうございました

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

SUM関数は数値を集計することはできますが文字列は無視されます。そのため0の答えとなってしまいます。 A1セルから下方にkmの付いたデータが連続して入力されているのでしたら例えば次の式で求めることができます。 =SUMPRODUCT(SUBSTITUTE(A1:INDIRECT("A"&COUNTA(A1:A100)),"km","")*1)

noa-t
質問者

お礼

ご回答ありがとうございます 知識のない自分が恥ずかしいです 皆様のご回答みて 愚問だと感じました 今回は データをはじめから打ち直しました 表示形式を ユーザー設定にしてみて 何とか解決いたしました ありがとうございました 教えていただいた方法も 勉強のため試してみました うまくいきました ありがとうございました

回答No.1

セルの中身が「文字列」なので、何をどう計算しても「0」としか認識されませんよ。 やるなら、A1~A6を選択した状態で「書式」「セル」「表示形式」を「ユーザー定義」にして「形式」に「0"km"」と入力してOKボタン。 こうして、A1~A5に「数字だけ」を入力して、A6に「=SUM(A1:A5)」と入力しましょう。 ともかく「単位記号まで入力しちゃうと、文字列として扱うので、計算できなくなっちゃう」ので、単位記号は入力しちゃいけません。入力してよいのは「数値だけ」です。

noa-t
質問者

お礼

ご回答ありがとうございます 知識のない自分が恥ずかしいです 皆様のご回答みて 愚問だと感じました 教えて頂いた通り表示形式を ユーザー定義にしてみて 何とか解決いたしました ありがとうございました NO4様と 同じようご回答でベストアンサーを どちら様にするか 正直迷いましたが 今回 より丁寧に ご説明いただいたNO4様をベストアンサーにさせていただきました  せっかく 一番にご回答くださったのに申し訳ありません でも とても感謝しております ありがとうございました