• ベストアンサー

エクセルで時差を表示

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関数などを使えばできると教えてもらったので、出来ればこれらの関数を使って求めて下さると助かりますっっ;; こんな説明で分かった方、ぜひ出し方を教えてください!!

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.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さんの回答になります。

toryuken
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

東京のC23に =NOW()+B23/24 といれて、上下に式をコピーしてみてください。 C1に、=NOW()+B1/24 といれて下までコピーでも同じですが。

toryuken
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

C1=NOW()+SIGN(B1)*TIME(ABS(B1),0,0) でC26までコピー

toryuken
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの関数を使って、表示させたい!

    エクセルでの質問です。なにぶん、初心者なのでよろしくお願いします。 一覧表の横に金額表があり。C列に最安値を表示したいと思い、 関数「MIN」を使って表示さています。 会社名をB列のセルに関数を使って表示させたいのですが、金額が同数値の場合、 同じセルに2つ(複数)の表示は可能でしょうか? よろしくお願いします。 例) 一覧表   A     B      C    D  1 行先  会社名   最安値 2 →あ    320 3 →い    120 4 →う     300  5 別途金額表    E    F    G   H 1  行先 会社A 会社B 会社C 2  →あ  500  500  320   3  →い  120  320  450 4  →う  300  400  300

  • excelの操作について

    まず、A列に時刻の「時」として9~21まで、B列に時刻の「分」として0~59まで、そしてD列に「項目」として商品が入力規則のリストとして設定されています。 C列に =time(a2,b2) を設定して時刻を表示させるようにしています。(1行目は項目行となっています) ですので「表1」は時刻順となっています。 表1は40行まで作られており、状況によって何行入力されるは未定となっています。 この表を「表1」とします このようにしているのは入力担当にキーボード操作をさせない意図があります。 ここからがご質問の中身になります。 表1の隣に、表1にデータが入力されると瞬時に実績の高い順に並び替えて表示させる、「表2」を作成しようとしています。 rank関数、count関数、vlookupなどを組合すなど試行錯誤しているのですが、表2に「0値」が入ってしまったりし、どうもうまくいきません。 何か良い方法をご存知の方、お教えいただけますでしょうか?

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセル 一番は誰?

    エクセルにて A列 氏名 B列 点数 が入った一覧表があります。 B列の点数を比較して、一番点数の多い人の名前をC1に表示したいのですが、どのようにすればよいのでしょうか? まだまだ勉強中で知っている関数も乏しく、煮詰まってしまいました・・・(--;; お手数ですが、どなたかご教授願います。

  • EXCEL 複数条件で検索表示

    表1 A B C 1 a1 ~5 \10,000 2 a1 10~ \20,000 3 b1 ~5 \10,000 4 b1 10~ \20,000 表2 A B C 1 a1 7  \10,000 2 b1 11 \20,000 上記のように表2のA、B列を入力してC列の値段を表示(表1参照して) したいのですがどのように関数を作ったらいいでしょうか? 過去の質問を検索しましたがいいのが見つからなかったので 申し訳ないですがご教示願います。

  • セルに入力された時間を表示し固定したい

    いつもお世話になっております。 例えばA列に下方向にデータが入力されていく表のB列に入力された時刻を記録したいのですが =IF(A1="","",NOW())とすると当然次のデータ(A2)の入力時にはB1の時刻は現在時刻に更新されてしまいます。 その都度時間をコピーして値で張り付ければ良いのですが、複数の人が使うのでこの操作を自動で処理したいのですが。 つまりA1に入力が有った時点の時刻をB1に表示し、その内容(時刻)を関数(=NOW)から値(時刻)に変える様にしたいのですが。 当方マクロ不慣れなのでA列入力時にその都度入力表の上部の固定枠にマクロ「ボタン」を作ってそれを押すような仕様でもOKなのですが。(コードが簡単な方が良いです)

  • 【エクセル】リスト作成について

    現在、エクセルにてリストを作成しております。 お力をお借り出来ると幸甚です。 簡単に記載いたします。 【シート内容】 A列に他シートにて都道府県のリストを作成し、そこを見て、リストから都道府県名を選択するようにしております。 B列には例として、特定の数字データを入力します。(手入力) A列      B列 (表1) 東京      10 千葉      20 神奈川     30 東京      40 埼玉      50 東京      60 千葉      70 --------------------------- この下に、上記表の取りまとめの情報を載せたいと考えております。 例として、(列はどこでも構いません) (表2) A列      B列 東京      110 千葉      90 神奈川     30 埼玉      50 【お力をお借りしたい部分】 (表2)に取りまとめの情報を作成する際の方法です。 (表1)のA列に、リストから選択された各都道府県名は、特定ではなく、変わります。 その為、(表2)のA列に各都道府県名を固定で記載し、B列にsumif関数等が使えないと考えております。 ・(表2)A列に(表1)A列に表示されている一覧から、重複なく、もれなく一覧を表示させる方法はありますでしょうか?(出来ればピボットテーブル等を使用せずに関数で出来たら助かります。)

  • エクセルの時刻表示

    時刻表示に関して     A      B      C 1 6:27:58  2 6:27:59  3 6:28:00  6:28:00   6:28 4 6:28:01   上記のように… Aに時刻をズラリ。 Bに00秒と30秒のみを表示。 CにBで表示されているものを分単位で表示。 このような表はエクセルで作成可能でしょうか? 通常の数値なら出来るんですが、時刻だとわからなくなってしまったので、助けてください。

  • 【エクセル】抽出データを上に詰めて表示させたい。

    重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B    │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │     │ │ 4│ええ  │ ええ  │2│ 5│おおお │おおお │1│ 6│ええ  │   │ │ 7│いいい │  │ │ 8│あああ │  │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。

  • <エクセル>複数条件下での個数の数え方

    A列に都道府県、B列に地域、C列に売上がある表があります。 東京と大阪を除いた地域のうち、C列で0以上のセルの個数を表示したいと思います。(ここだと2コ) countif、dcountなど考えましたが、うまく表示できません。 列を増やさず、個数を表示できる関数を教えてくださいますか? 宜しくお願いします。    A    B       C 1 東京    新宿    500 2 大阪    心斎橋    0 3 名古屋   栄     300 4 東京    渋谷     0 5 北海道   札幌    100 6 宮城    仙台     0 7 大阪    梅田    100  

専門家に質問してみよう