- ベストアンサー
スプレッドシートで数値の変換と計算を行う方法
- スプレッドシート(グーグル)あるいはエクセルを使用して、数値の変換と計算を行う方法についての質問です。具体的には、セルAに「711 時間 42 分」という数値が入っていた場合、セルBで、この数値を分に変換し、セルCで1.2倍に計算し、セルDで元の形式である時間 分に戻したいという要件があります。
- 質問者は既にセルCに「=セルB*1.2」という数式を入力することで、1.2倍の計算結果を得ることができることに気付いていますが、セルBとセルDについてはどのような数式を入力すれば良いのかわからないという問題があります。
- 回答としては、セルBには「=MINUTE(A1) + HOUR(A1) * 60」という数式を入力して、セルAの時間と分を合計して分に変換することができます。セルDについては、セルCの計算結果を時間 分の形式に戻すために「=CONCATENATE(TRUNC(C1/60)," 時間 ",MOD(C1,60)," 分")」という数式を入力します。数式を入力しない場合は、スクリプトを使用して処理することも可能です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1に”711 時間 42 分”と入っているものとします。 B1に =VALUE(LEFT(A1,FIND("時間",A1)-1))*60+VALUE(MID(A1,FIND("間",A1)+1,FIND("分",A1)-FIND("間",A1)-1)) C1に =+B1*1.2 D1に =TEXT(INT(C1/60),"0時間")&TEXT(MOD(C1,60),"0分") 2行目以降はオートフィル 尚D1の表示は”854時間2分”となり”854時間02分”とはなりません。 これをどうしてもやりたければ、結構面倒くさいことをやらなければ できませんので、提示しません。 多少は自分で考えましょう。
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
B1セルは 42,702になりますね。 711時間42分は、実数であらわすと29.654166666・・・ 表示形式を数値にしてみてください。 29.654166666・・・[日]と単位を付けることができます よって、24を掛けると711.7[時間]となり、 さらに60を掛けると42702[分]となります。 つまり =A1*24*60 で分に換算できます。 D1セルは =C1/24/60 と逆戻りしても良いですが =A1*1.2 のほうが単純だと思います。
お礼
お答えいただいたことで、わからないことが、なんなのか、 わかることができました! ありがとうございます!
補足
>711時間42分は、実数であらわすと29.654166666・・・ >表示形式を数値にしてみてください。 実は、それ(=表示形式を変更)ができない状態の中(文字列として711時間42分をシートが認識) どうすれば計算できるようになるか、という方法を探しています。(汗) つまり A列の文字列(711時間42分)を、実数(29.654166666・・)に「表示形式」を使って 変更する以外に、何か式などで、変換できる方法があれば、教えてほしいと思っております。 --------------- 以下の根拠で、文字→実数に変換できるような気がしたので あれば教えていただきたいです。 【根拠】 エクセル(スプレッドシートで)データ→並び替え を行ったとき (1)711時間42分 (2)712時間44分 (3)711時間43分 と並んでるものを昇順で並び替えると (1)711時間42分 (3)711時間44分 (2)712時間43分 とちゃんと、時間と分をエクセル(グーグルスプレッドシート)が認識して、並び替えることができるので。 --------------- 文字列(711時間42分)を、実数(29.654166666・・)に変換する方法はないでしょうか? はじめの質問がわかりづらくてすいません。 質問していて、だんだんわかってきましたが、当初の質問は セルA→711時間42分(文字列として認識) セルB→711時間42分という文字列を実数に変換 セルC→セルB(実数)を1.2倍したもの セルD→●時間●分 という風にしたいということでした。 これらのやりかたを教えていただけませんでしょうか?
- keithin
- ベストアンサー率66% (5278/7941)
手順: まっさらのエクセルを用意する A1セルに 711:42 と記入する B1に =A1/"0:1" と計算すると,単純な算数でA1に何分あるか(1分が何個あるのか)計算できる セルの書式設定は「数値」にしておく D1に =A1*1.2 と記入し,セルの書式設定の表示形式でユーザー定義を選び [h]時間mm分 と設定する
お礼
いまいち、よくわからない質問に対し、いち早くお答えいただき ありがとうございました!またないかありましたら、お願いいたします! ..
お礼
最高です、ありがとうございます!