[[20100206121518]] 『時間の計算』(寧海) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

 『時間の計算』(寧海)

 いつもお世話になります。

 2行の答えが問題なのでご指導宜しくお願いいたします。

  A列又はB列が0:00の場合Cの答えを0:00にしたいのでですが

	A	B	C
	出 時間	入 時間	労働時間
1	16:30	12:01	4:29
2	16:30	0:00	16:30
3	16:30	12:00	4:30
4	9:00	12:00	21:00
5	0:00	0:00	0:00
6	0:00	0:00	0:00
ご指導よろしくお願いいたします。ご指導よろしくお願いいたします。


 > 2行の答えが問題なので
 「2行の答えが問題」ってなんですか?
 なんらかの課題を回答者にかわりに解かせたいということですか?

 > A列又はB列が0:00の場合Cの答えを0:00にしたいのでですが
 「または」(OR条件)ではなくAND条件なのでは?

 ヒントだけ
 基本はA列マイナスB列で
 これはお分かりと思います。
 IF関数を使用して条件分岐 → A列もB列もゼロの場合はゼロ
 A列の時間がB列より大きい場合はA列の時間に 1 をプラス

 (えくせる青年)2010/2/6 13:00

 えくせる青年様

ヒントありがとうございました.

IF関数を使用して条件分岐 → A列もB列もゼロの場合はゼロ

IF( $B2="", "", $A$2-$B2)

 下記がまだわからないので過去ログなどを見て考えています。

A列の時間がB列より大きい場合はA列の時間に 1 をプラス

    (寧海)


横やりで失礼します。
私も初心者ですが、私ならor関数をつかいます。
=IF(OR($A2=0,$B2=0),0,$A2-$B2)
セルの書式を「時刻」にしておけば”=0”の等式でよいはずです。

TOTORO


  > 下記がまだわからないので過去ログなどを見て考えています。
 A列の時間がB列より大きい場合はA列の時間に 1 をプラス 

 「考える」だけではなく試してみることが大切です。
 試してみてうまくいかないとういことなら
 どんな数式を試してみたのかを提示してください。

 なぜ 1 をプラスするかというと
 Excelは時間をシリアル値で管理しているからです。

   A  B
 1 9:00 12:00

 普通に =A1-B1 とするとエラーとなります。
 日をまたぐ場合に A列の時間が翌日の時間と想定すると
 A列の時間に 24:00 をプラスする必要があります。
 24:00 をシリアル値で考えると 1 となります。

 ただし

   A   B
 1 13:00 12:00

 上記のような場合A列の時間がB列の翌日の時間の場合は
 上記の方法では期待する値を返すことはできません。
 当然ですが2日後や3日後には対応しません。

 ですのでいちばん確実な方法は
 時間だけではなく 日付も含めて時間を入力することです。

 (えくせる青年)2010/2/6 18:23

 > A列の時間がB列より大きい場合はA列の時間に 1 をプラス 

 逆では?
 B列がA列よりも大きければでしょう。

 > IF( $B2="", "", $A$2-$B2) 

 ↑ で解決したんですか?
 A2 が絶対参照になってるのも不思議ですが
 B列は 0:00 じゃなく空白なんですか?

 (sky)


(えくせる青年)さん

時間だけではなく 日付も含めて時間を入力することです。

とても参考になりました、時間だけですと何時の時間かわかりませんからね。

、(sky)さん、

 B列は 0:00 じゃなく空白なんですか、いいえ0:00 が入っています。

TOTORO さん

 TOTOROさんの式を使用させていただきました。

皆さん本当にありがとうございました。


 一応書いておきます。

 > 時間だけではなく 日付も含めて時間を入力することです。
 > とても参考になりました、時間だけですと何時の時間かわかりませんからね。

 労働時間が24時間以上になることがあるんですか?
 24時間未満なら日付を入力する必要なんかありませんよ。

 > いいえ0:00 が入っています。

 何のために 0 を入力してるのでしょうか?
 A列またはB列が 0:00 の場合は計算しないのなら
 出または入が午前0時だったら労働時間が 0 になってしまいますよ。
 (日付を入力しない場合です)

 (sky)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.