- ベストアンサー
Exelで時刻計算(秒の数値のみを2倍に)
start stop time 0:03:18 1:49:27 1:46:09 のようにスタートからストップまでのタイムを計算したいのですが、問題は秒の数値が0-30までの2秒単位の数値であることです。 実際のタイムは秒数を2倍して、以下のようになります。 start stop time 0:03:36 1:49:54 1:46:18 今のところ、0:03:00と0:00:18のように時・分と秒とを分けて入力し直して秒数だけを2倍し、後で足し合わせていますが、量も多いし面倒です。 この計算をもう少し簡潔に行うにはどうすればいいでしょうか。
- fishsong
- お礼率96% (27/28)
- オフィス系ソフト
- 回答数5
- ありがとう数5
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=TIME(HOUR(C1),MINUTE(C1),SECOND(C1*2))
その他の回答 (4)
start時刻が入るセルをA1、stop時刻が入るセルをA2、時間が入るセルをA3として、セルA3に以下のような数式を入れたらいかがでしょうか? =INT(A2*24*60)/(24*60)+MOD(A2,1/(24*60))*2-(INT(A1*24*60)/(24*60)+MOD(A1,1/(24*60))*2) ちょっと複雑ですが、セルA1とセルA2の分未満を2倍して、分以上と足したものでいいんですよね?
お礼
これも自分では考え付かなかった計算式で、勉強になりました。 ありがとうございました。
- ka_na_de
- ベストアンサー率56% (162/286)
A2セルに 0:03:18 と入力されているなら、 A3セルに =TIME(HOUR(A2),MINUTE(A2),SECOND(A2)*2) と入力し、「書式」「セル」「表示形式」を時刻に設定すれば 0:03:36 と表示されると思います。 もし、 たくさんのデータがあるのであれば、別のシートで計算してみては どうでしょうか? 例えば、元のデータがSheet1のA2セル以降にあったとしたら、 別のシートのA2セルに =TIME(HOUR(Sheet1!A2),MINUTE(Sheet1!A2),SECOND(Sheet1!A2)*2) と入力し、以降の必要なセルにコピー&ペーストします。 うまく参照・計算されていれば、 全体を「コピー」して、同じところで「形式を選択して貼り付け」で 「値」にして「OK」すればよいかと思います。
お礼
ANo.2の方と同じでシンプルでいいですね。 別シートに計算する方法も教えていただいてありがとうございます。 (ポイントは先着優先ですみません)
- zap35
- ベストアンサー率44% (1383/3079)
A列 B列 C列 0:03:18 1:49:27 C2の式は =B2-A2+MOD(B2-A2,"0:01:00") 通常の引き算の結果(1:46:09)の秒数だけ足し直して2倍にしています
お礼
ありがとうございます。 自分では考え付かなかった計算式で、勉強になりました。
私は、エクセルは一度も操作したことのない門外漢。 ですから、エクセルの関数は判りません。 よって、この回答が最適かどうかは大いに疑問。 start______stop ____time 0:03:18___1:49:27___1:46:09 0:03:36___1:49:54___1:46:18 一応、エクセルで計算させたののコピペです。 a3=hmmss(A2) b3=hmmss(B2) c3=hmmss(B2)-hmmss(A2) 計算式は、このようです。 hmmss() などという関数はありません。 以下のように標準モジュールで自作したものです。 h、mm、ss の文字列を3つに分割し ss を倍して合成しているだけです。 エクセルの関数でも可能と推察されますが、一度、作れば標準モジュールが便利です。 Option Explicit Public Function hmmss(ByVal T) As Variant Dim NewT As String NewT = Format(T, "h:mm:ss") hmmss = CDate(CutStr(NewT, ":", 1) & ":" & CutStr(NewT, ":", 2) & ":" & CutStr(NewT, ":", 3) * 2) End Function Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function
お礼
早速のご回答ありがとうございます。 マクロにはうとくてちゃんと理解できないのが残念ですが勉強になります。
関連するQ&A
- ミリ秒単位の計算をしたいです。
ミリ秒単位の計算をしたいです。 以下を拡張子vbsで実行すると、0:21:22と表示されます。 a = "00:10:10" b = "00:11:12" c = cdate(a) + cdate(b) msgbox c しかし、実際に行いたいのは、ミリ秒単位まである計算なんです。 a = "00:10:10,001" b = "00:11:12,002" c = cdate(a) + cdate(b) msgbox c 上記の場合エラーになってしまいます。 こういう場合、どうやれば良いでしょうか? コンマ(,)より前と後を別々に計算する? それとも簡単に計算する関数等はあるのでしょうか? VBSで出来なければ、VB.NETでも構いません。 教えて下さい。よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセルの秒計算について教えてください
エクセル2003で以下のような計算をさせたいのですが、関数をどう作れば良いのか分かりません。 A1セルに00:00:01(分:秒:100分の1秒台の表示)と入力 その後A2セルから順に00:00:02~00:00:09と100分の1秒ずつ足していく用に計算させる。 そうするとA10セルでは00:00:10となるが、それを00:01:00と繰り上げたい。 要約すると、100分台は0~9までカウントし10分の1秒は1秒とカウントさせてしまう。1秒台はそのまま通常通りのカウントにしたい。 これを例えばA1000ぐらいまで計算させるとしたらどんな関数を入力する必要がありますか? 説明が拙くて申し訳ありませんが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 決まった時刻(秒単位)にボタンを自動でクリックしたい
決められた時刻(秒単位もしくはそれ以下)に 決まったボタンを押せる様なソフトは無いでしょうか? 例えば19時0分5秒にスタートボタンをクリックする、 あるいは19時0分5秒50ミリ秒にスタートボタンをクリックする という様な操作の事です。 始めはロケットマウスを試したのですが、コントロールできる 時間の最小単位が分だった為に使えませんでした。 ロケットマウスの様に高機能でなくても構いません。 よろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- エクセルの計算式について教えて下さい
次の計算式にて計算させています。 求める時間:J24=H24+TIME(0,0,$E$15)+V24+R24 H24 ⇒ 数値(時間)が入力されているセル H24 6:30(開始時間) H25 7:24 H26 8:19 ↓ H40 0:05 H41 1:10(終了時間) 1:00+α *α(単位は時間で、0.5時間等と変化させます V24 ⇒ 数値(時間)が入力されているセル 0:15 R24 ⇒ 数値(時間)が入力されているセル 0:55 $E$15 ⇒ 固定する数値が入力されているセル 単位:秒 そこでJ24=H24+TIME(0,0,$E$15)+V24+R24の値が1:00+$C$19を超えた場合は1:00+$C$19と表示させたく次の式を作成しました。 求める時間: J24=IF(AND(H24+TIME(0,0,$E$15)+V24+R24>=(1+$E$15)/24,(1+$E$15)/24<H24),(1+$E$15)/24,IF(AND(H24+TIME(0,0,$E$15)+V24+R24>(1+$E$15)/24,H24+TIME(0,0,$E$15)+V24+R24<(6+30/60)/24),"Error",H24+TIME(0,0,$E$15)+V24+R24)) しかしH41(1:10)に対してJ41=1:00+$C$19と計算させたかったのですが、J41=H41+TIME(0,0,$E$15)+V41+R41としか計算されなかったため、色々と試行錯誤しましたが直りませんでした。 そこで今回作成した式の間違いと正しい式を教えて下さい。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excelで「1234」と入力して、「12分34秒」と表記したいのですが・・・
陸上競技を指導しています。 みんなのタイムをエクセルに入力して管理をしたいのです。 今はセルに『0:12:34』と入力をして、最高タイムや平均タイムなどを計算しています。 そこで質問です。 いちいち『0:12:34』と入力しなくても、『1234』と入力するだけで、『12分34秒』と表記することが出来ないでしょうか? また、表記出来た上に、それを元に (1)最高タイムや平均タイムを出したり、 (2)『12分34』を2倍すると(2を掛けると)『25分08秒』 と、表記されるようにしたいのです。 ややこしい説明文になりましたが、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCELで時間(○秒○コマ)の計算
前回で単位を間違ってしまったので、再度 質問をさせていただきます。EXCEL97を使ってます。 (1)例えば6秒3コマを06:03と表示した表があります。 これをEXCELで6秒3コマと認識させるには どうしたらいいでしょうか。ちなみに1コマ= 1/30秒です。=A1/30でいいのでしょうか。 書式にはss以下のコマに相当する単位がないようですが、表示は可能でしょうか。 (2)(1)の○秒○コマという数値が200ほどあるのですが、 それを全部足して合計何時間何分何秒か出すには どうしたらいいでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの時刻入力で、15分単位に変換したい
エクセルにタイムカードの時刻入力をしたいのですが、 経理上の計算は15分単位で行っている為、以下が可能か どうか教えて下さい。 実際の打刻時間(12:17等)を入力して、 経理上の単位(12:15等)に変換させたい。 ご存知の方いらっしゃいましたらご教示下さい。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- 秒数を入力すると○時間○分○秒と計算するプログラム
はじめまして、Javaのプログラムの問題で プログラム実行後に秒数を入力すると○時間○分○秒と計算するプログラムを作成しろとでました。 例 何秒を変換しますか? 3856(キーボードから入力) 3856秒は1時間4分16秒です。 for文を使うらしいのですが調べても全く分からない状態です。 学校でJavaを習ってまだ半年です。教科書はやさしいJava第3版です。 回答のほうお願いいたします。
- ベストアンサー
- その他(学問・教育)
- 同じセル内に数値と単位が入っていても計算はできるのか?
わかる方教えてください。 例えば、()内を同じ一つのせるとして、普通は数値と文字が 同じセル内に混在している場合、数式をいれても、合計はエラー となってしまいます。 (100円)×(100個)=(エラー×) 数値と単位が同じセル内に入力してあっても計算式できる方法はないでしょうか? こんな事って、できるのでしょうか??
- ベストアンサー
- オフィス系ソフト
お礼
できました!シンプルでいいですね。 ご回答ありがとうございます。