[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『時間の計算』(寧海)
いつもお世話になります。
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 をプラス
(寧海)
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.