エクセルで例えば、1時間30分や50分と表示されているセルが約300連なっています。この時間をすべて「足す」にはどうすれば良いのでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2019/10/20 22:57:27
  • 終了:2019/10/27 23:00:08

ベストアンサー

id:nepia11 No.1

nepia11回答回数478ベストアンサー獲得回数992019/10/21 10:56:30

まず計算対象のセルが「数値」なのか「文字列」なのかを確認します。
※たぶん計算できないので「文字列」なのだと思います。

■確認の方法
いろいろありますが、セルを選択して(数値>「,」)をクリックして数値として表示されるか確認するのが簡単です。
ここで数値であった場合は、四則計算やSUM関数等で計算できます。

■文字列だった場合
FIND関数等を使って、対象セルから数値を抜き出します。
例)1時間30分→「1」「30」/50分→「50」
この抽出した数値をTIME関数を使って時間(数値)に変換します。
これで計算可能な数値データに返還できます。

【参考】
・FIND関数
https://support.office.com/ja-jp/article/find-%E9%96%A2%E6%95%B0%E3%80%81findb-%E9%96%A2%E6%95%B0-c7912941-af2a-4bdf-a553-d0d89b0a0628
・LEFT関数
https://support.office.com/ja-jp/article/LEFT-%E9%96%A2%E6%95%B0%E3%80%81LEFTB-%E9%96%A2%E6%95%B0-9203d2d2-7960-479b-84c6-1ea52b99640c
・MID関数
https://support.office.com/ja-jp/article/MID-%E9%96%A2%E6%95%B0%E3%80%81MIDB-%E9%96%A2%E6%95%B0-D5F9E25C-D7D6-472E-B568-4ECB12433028
・TIME関数
https://support.office.com/ja-jp/article/TIME-%E9%96%A2%E6%95%B0-9a5aff99-8f7d-4611-845e-747d0b8d5457

他1件のコメントを見る
id:nepia11

A1に対象の時間がある場合。
(1)時間の前の数字を取り出す関数
=IFERROR(VALUE(LEFT(A1,FIND("時間",A1)-1)),0)
※"時間"の文字列を探して、その前の数字を抽出します。1時間未満の場合は、単に「50分」等になっているようですので、"時間"がない場合は、0になります。
(2)時間と分の間の数字を取り出す関数
=IFERROR(VALUE(MID(A1,FIND("時間",A1)+2,FIND("分",A1)-FIND("時間",A1)-2)),VALUE(LEFT(A1,LEN(A1)-1)))

あとは、TIME関数で時刻にしてもいいですし、(1)×60+(2)で分で集計する事も可能です。
お時間あるときにでもお試しください。

2019/10/23 09:57:42
id:mamegaki

nepia11様。私はパソコンに使われているレベルです。勉強して、少しでも使えるようになりたいと思います。今晩にチャレンジします。nepia11様の回答を「ベストアンサー」として終了させていただきます。本当に有り難う御座いました。

2019/10/23 10:23:02

その他の回答(0件)

id:nepia11 No.1

nepia11回答回数478ベストアンサー獲得回数992019/10/21 10:56:30ここでベストアンサー

まず計算対象のセルが「数値」なのか「文字列」なのかを確認します。
※たぶん計算できないので「文字列」なのだと思います。

■確認の方法
いろいろありますが、セルを選択して(数値>「,」)をクリックして数値として表示されるか確認するのが簡単です。
ここで数値であった場合は、四則計算やSUM関数等で計算できます。

■文字列だった場合
FIND関数等を使って、対象セルから数値を抜き出します。
例)1時間30分→「1」「30」/50分→「50」
この抽出した数値をTIME関数を使って時間(数値)に変換します。
これで計算可能な数値データに返還できます。

【参考】
・FIND関数
https://support.office.com/ja-jp/article/find-%E9%96%A2%E6%95%B0%E3%80%81findb-%E9%96%A2%E6%95%B0-c7912941-af2a-4bdf-a553-d0d89b0a0628
・LEFT関数
https://support.office.com/ja-jp/article/LEFT-%E9%96%A2%E6%95%B0%E3%80%81LEFTB-%E9%96%A2%E6%95%B0-9203d2d2-7960-479b-84c6-1ea52b99640c
・MID関数
https://support.office.com/ja-jp/article/MID-%E9%96%A2%E6%95%B0%E3%80%81MIDB-%E9%96%A2%E6%95%B0-D5F9E25C-D7D6-472E-B568-4ECB12433028
・TIME関数
https://support.office.com/ja-jp/article/TIME-%E9%96%A2%E6%95%B0-9a5aff99-8f7d-4611-845e-747d0b8d5457

他1件のコメントを見る
id:nepia11

A1に対象の時間がある場合。
(1)時間の前の数字を取り出す関数
=IFERROR(VALUE(LEFT(A1,FIND("時間",A1)-1)),0)
※"時間"の文字列を探して、その前の数字を抽出します。1時間未満の場合は、単に「50分」等になっているようですので、"時間"がない場合は、0になります。
(2)時間と分の間の数字を取り出す関数
=IFERROR(VALUE(MID(A1,FIND("時間",A1)+2,FIND("分",A1)-FIND("時間",A1)-2)),VALUE(LEFT(A1,LEN(A1)-1)))

あとは、TIME関数で時刻にしてもいいですし、(1)×60+(2)で分で集計する事も可能です。
お時間あるときにでもお試しください。

2019/10/23 09:57:42
id:mamegaki

nepia11様。私はパソコンに使われているレベルです。勉強して、少しでも使えるようになりたいと思います。今晩にチャレンジします。nepia11様の回答を「ベストアンサー」として終了させていただきます。本当に有り難う御座いました。

2019/10/23 10:23:02
id:mamegaki

nepia11様。有り難う御座いました。「文字列でした。さらに数字は全角」という状態でした。アスキー関数を使って、半角にしたのですが、時間的な問題が発生し、手入力で、分に換算して入力しました。【参考】を頼りに再チャレンジします。感謝!

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません