みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル2007でのIF関数と時間の計算

A1,B1,C1,D1に時間をh:mmで入力します。
E1セルに次の答えを返したいのですが、数式をどうすればいいでしょうか。

もし、A1とB1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を
もし、C1とD1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を
E1セルに表示する。
なお、A1からD1に何も入力しないときは、E1も空白にしたいです。

また、「A1 または B1」に時間データが入力された場合は、「C1またはD1」には時間データへの入力はありません。
同様に、「C1またはD1」に時間データが入力された場合は、「A1またはB1」には時間データへの入力はないという形式の表です。

投稿日時 - 2011-01-21 13:57:40

QNo.6463981

すぐに回答ほしいです

質問者が選んだベストアンサー

A1:B1とC1:D1のどちらかにしかデータは入らないのですから,
A1からD1に正しく時刻のデータを出せているなら,
=SUM(A1:D1) 実際は =SUM(T1:W1)
と入れて,セルを右クリックしてセルの書式設定の表示形式で
h:mm;;;
と設定するだけと出来ます。(コロンとセミコロンの使い分けを間違えないこと)

他の式と同じように作りたいのなら
=IF(COUNT(A1:D1)>0,SUM(A1:D1),"")
でいいかも?しれません。



#教わった回答の式でスムーズに上手く行かなかったのは,あなたがA1:D1(はウソでT1:W1)に「時間を入力してる」というご説明がウソで,ホントは「数式で計算させている」からです。

 またわざわざ「合計がプラスになったら」とご質問に書いているそのココロがたとえば「マイナスの時間数の表示をわざわざ数式で作って表示している」ような事をしていた場合に,上記でもまだダメで更に面倒な手間をかけないと計算できないかもしれません。

正しい的確な答えを教わるためにも,「例えばじゃなくホントはT1セルに,これこれの数式を入れています」という『事実』を最初からご相談に記載するようにしてみてください。

投稿日時 - 2011-01-21 20:59:55

お礼

回答ありがとうございました。

例えば的に質問して、教えていただいた理屈をアレンジして自分で作ってみたかったのでこんな質問になりました。 失礼しました。

投稿日時 - 2011-01-24 07:11:43

ANo.4

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

 回答番号:ANo.3です。
 補足して頂き有り難う御座います。
 不明な点が解消したため、回答を投稿しようとした処、私が考えていた関数と殆ど同じものが、既にkeithin様の御回答に御座いましたので、私が書くべき事が無くなっておりました。
 万が一、補足要求をした私の回答をお待ちされていた場合を考えて、念の為にお断りさせて頂きました。

投稿日時 - 2011-01-21 23:28:53

お礼

気遣いいただきありがとうございました。

投稿日時 - 2011-01-24 07:12:45

ANo.3

 不明な点が幾つか御座いますので、以下の点に関して補足して頂く様、御願いします。

(1)
>合計が、0:00(ゼロ時間)を超えるときは、

の部分は、時間の合計が24時間を超える場合の事だと考えれば宜しいのでしょうか?


(2)
>その合計時間を

とは、あくまでA1とB1或いはC1とD1の合計値そのものの事であり、24時間を超えた部分のみの事ではないと考えて宜しいのでしょうか?
 例えば、A1が「15:00」とB1が「10:00」の場合、合計は「25:00」になり、24時間を1時間オーバーしますが、その場合のE1の表示は、「1:00」ではなく、「25:00」で宜しいのでしょうか?


(3)時間の合計が、丁度24時間の場合や24時間未満の場合に関しては、何も記述が無い様ですが、その場合のE1の表示は、どの様にするのでしょうか?


(4)A1~D1の何れか1つのセルにのみ入力がある場合には、その値を時間の合計値として扱えば良いのでしょうか?
 それとも、入力が1ヶ所のみの場合は、E1セルに何も表示させない方が良いのでしょうか?

(5)
>また、「A1 または B1」に時間データが入力された場合は、「C1またはD1」には時間データへの入力はありません。
>同様に、「C1またはD1」に時間データが入力された場合は、「A1またはB1」には時間データへの入力はないという形式の表です。

 その条件に反する入力は、既に入力規則等を使用して、入力が出来ない様になっているのでしょうか?
 それとも、条件に反する入力を禁止する入力規則の設定方法に関しても、回答した方が宜しいのでしょうか?

投稿日時 - 2011-01-21 16:16:55

補足

ANo.3

(1)
>合計が、0:00(ゼロ時間)を超えるときは、

の部分は、時間の合計が24時間を超える場合の事だと考えれば宜しいのでしょうか?

>>>A1からD1には1分以上の値が入ります。その意味で「ゼロ時間を超えるとき」という書き方をしました。また、各セルに入力の必要がない場合は、空白とします。
また、各セルとも24時間を超える入力はありませんし、A1+B1およびC1+D1の合計も24時間を超えることはありません。


(2)
>その合計時間を

とは、あくまでA1とB1或いはC1とD1の合計値そのものの事であり、24時間を超えた部分のみの事ではないと考えて宜しいのでしょうか?
 例えば、A1が「15:00」とB1が「10:00」の場合、合計は「25:00」になり、24時間を1時間オーバーしますが、その場合のE1の表示は、「1:00」ではなく、「25:00」で宜しいのでしょうか?

>>>あくまでA1とB1或いはC1とD1の合計値そのものをE1に表示させたい意です。

(3)時間の合計が、丁度24時間の場合や24時間未満の場合に関しては、何も記述が無い様ですが、その場合のE1の表示は、どの様にするのでしょうか?

>>>(1)の補足で記載した通りで、E1には24時間未満の数値になります。

(4)A1~D1の何れか1つのセルにのみ入力がある場合には、その値を時間の合計値として扱えば良いのでしょうか?
 それとも、入力が1ヶ所のみの場合は、E1セルに何も表示させない方が良いのでしょうか?

>>>A1~D1の何れか1つのセルにのみ入力がある場合には、その値を時間の合計値として扱うことになります。


(5)
>また、「A1 または B1」に時間データが入力された場合は、「C1またはD1」には時間データへの入力はありません。
>同様に、「C1またはD1」に時間データが入力された場合は、「A1またはB1」には時間データへの入力はないという形式の表です。

 その条件に反する入力は、既に入力規則等を使用して、入力が出来ない様になっているのでしょうか?

 それとも、条件に反する入力を禁止する入力規則の設定方法に関しても、回答した方が宜しいのでしょうか?

>>>想定している範囲では入力規則を使用はしないつもりです。必要が生じるようでしたら、設定するようにしたい思います。
今回はこの点についての回答は不要とさせてくださいませ。
アドバイスありがとうございます。

当初質問、補足についても意が伝わりにくいかもしれませんが、よろしくお願いいたします。

投稿日時 - 2011-01-21 17:02:15

お礼

ありがとうございました。

投稿日時 - 2011-01-24 07:13:11

ANo.2

次の式でどうでしょう。

=IF(COUNT(A1:D1)=0,"",IF(A1+B1>0,A1+B1,C1+D1))

投稿日時 - 2011-01-21 14:34:53

お礼

回答ありがとうございます。

質問させていただいた例では、教えていただいた数式でバッチリできました。
ただ、作ろうとしてしている表では実際にはA1からD1がT1からW1で、E1はK1にしています。また、質問の例のA1からD1(実際ではT1からW1)には、別の数式により計算した結果を返すようにしています。
そのことが影響しているのでしょうか。白地のワークシートで教えたいただいた数式を入れるとバッチリOKなのですが、実際作ろうとしている表では#VALUEのエラーになってしまいます。

お答えいただいた式の意味合いは理解できました。エラー原因を私なりにゆっくり考えてみたいと思います。

回答ありがとうございました。

投稿日時 - 2011-01-21 16:42:58

ANo.1

>もし、A1とB1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を

とありますが、A1、B1ともに入力して、ゼロ時間のときはE1にはなにも
表示しないのでしょうか?
それとも、そういう場合は元からA1、B1には入力されないのでしょうか?

>なお、A1からD1に何も入力しないときは、E1も空白にしたいです

と明記されているので、合計が0のときも入力してその場合は表示しない
ということでしょうか?
それによって少し、違ってくると思います。

あと、どのあたりがわからないのかもう少し詳しくしりたいです。
ifの使い方なのか、時間の計算なのか。もっとほかのなにかなのか。

質問ばかりで、回答になってなくてもうしわけありません。

投稿日時 - 2011-01-21 14:16:58

補足

>もし、A1とB1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を

とありますが、A1、B1ともに入力して、ゼロ時間のときはE1にはなにも
表示しないのでしょうか?
それとも、そういう場合は元からA1、B1には入力されないのでしょうか?


>なお、A1からD1に何も入力しないときは、E1も空白にしたいです

と明記されているので、合計が0のときも入力してその場合は表示しない
ということでしょうか?
それによって少し、違ってくると思います。

あと、どのあたりがわからないのかもう少し詳しくしりたいです。
ifの使い方なのか、時間の計算なのか。もっとほかのなにかなのか。


>>入力するデータがない場合は、元からA1、B1には何も入力しません。空白です。
>>関数のことよく知らないまま、日本語で「もし(IF)、A1がこうだったら、こう。そうでなかったら、こう」という文章をIF関数の数式に入れています。文章構成がうまく、iF関数に反映できないというのが今の私のようです。
今回の質問は、IF関数の数式の構成と、また時間の足し算とか大なり(>)小なり(<)とかが必要になると思いますので、併せて時間の計算ということでの質問とさせていただきました。

以上、補足させていただきます。(ここに書けばいいのですよね)

投稿日時 - 2011-01-21 15:09:23

あなたにオススメの質問