重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

A列に国名、B列に時差、C列に時刻を表示した一覧表を作りたいのですが、C列の時刻の表示の仕方が思いつきません。。

    A    B     C
 1      ―22
 2      ―21
 3      ―20
 4      ―19
 5      ―18
 6      ―17
 7      ―16
 8      ―15
 9      ―14
10      ―13
11      ―12
12      ―11
13      ―10
14       ―9
15       ―8
16       ―7
17       ―6
18       ―5
19       ―4
20       ―3
21       ―2
22       ―1
23  東京    0   =NOW()
24        1
25        2
26        3

このような表です(国名は省きました)。東京が基準です。
C23が2007/5/16 18:00となれば、
C22は2007/5/16 17:00、
C24は2007/5/16 19:00となります。

IF関数・TIME関数・ABS関数などを使えばできると教えてもらったので、出来ればこれらの関数を使って求めて下さると助かりますっっ;;

こんな説明で分かった方、ぜひ出し方を教えてください!!

A 回答 (3件)

指定した関数を全て使うのであれば


 =IF(B1>0,NOW()+TIME(ABS(B1),0,0),NOW()-TIME(ABS(B1),0,0))
こんなでしょうか。
ANo.1 mshr1962さんの関数式をまねるなら
 =NOW()+IF(B1>0,1,-1)*TIME(ABS(B1),0,0)
このようになりますね

TIME関数にはマイナスの数値は入りませんのでTIME関数内でABS関数を使用し絶対値に置換えます。
IF関数は時差の値の正負を読み取って、時差を加えるか引くかを判断させることに使用します。

また、Excelでは時間や日付けは1900年1月1日 0時0分から数えた日数(シリアル値)として扱っているので
一時間はシリアル値で 1/24 となります。
これを使った方法が ANo.2 merlionXXさんの回答になります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
すごく分かりやすいです。式だけ分かってもなぜその関数を使うのかが分からなかったら意味無いですもんね><

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

お礼日時:2007/05/16 20:05

東京のC23に


=NOW()+B23/24
といれて、上下に式をコピーしてみてください。

C1に、=NOW()+B1/24 といれて下までコピーでも同じですが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
教えていただいた通りやったら、出すことができました。
こんなに簡単な式で出せるんですね。

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

お礼日時:2007/05/16 18:41

C1=NOW()+SIGN(B1)*TIME(ABS(B1),0,0)


でC26までコピー
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
TIME関数とABS関数を使ったやり方を教えて頂いて、すごく助かりました。

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

お礼日時:2007/05/16 18:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!