• ベストアンサー

IF関数の使い方

以下の状況にて、実現したいことを可能にする関数をご教示いただければ大変助かります。 【状況】 B列に海外の現地時間、C列に日本時間に変更した時間、E列に該当国をセットしています。 【実現したいこと】 E列に記入された国に応じて、B列の時間を日本時間に直してC列に表示したい。 (現在、E列に記入される国数は5つです。) 【例】 今は、E2に入力された国がUKであれば、C2に =B2+"8:00" E10にUSAと入力する場合は、C10に =B10+"16:00" と言った形で手入力しております。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.3

5つ程度であればE列は、データの入力規則を使って、リストから選択。 (画像は、UK,USA,GER,AUS,CHNの5カ国の例) C1には、 =B1+CHOOSE(MATCH(E1,{"UK","USA","GER","AUS","CHN"},0),"8:00","16:00","7:00","22:00","2:00") 長いと言われればそうかもしれませんが、IF文5つよりはマシかも。

kidd1022
質問者

お礼

ご丁寧なご対応、ありがとうございました。 助かりました!

その他の回答 (3)

noname#204879
noname#204879
回答No.4

》 …国数は5つです 東西方向に広い(中国以外の)国では複数の時間帯(Time Zone)があるのをご存知ですか? 更に、夏時間を採用している国もあることを知っておいてくださいネ。

kidd1022
質問者

お礼

ご指摘ありがとうございます! はい、時間帯が複数存在する事は存じ上げております。 確かに、意識して組まないといけないですね。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>出来れば列数を増やさずに対応したい 一体全体どんなコダワリなのか判りませんが、目障りならずっと邪魔にならないZ列付近だとか、あるいはシート2とかに配置してください。 対応表を置いた列(あるいはシート2)は非表示にして、とりあえず目に見えなくするのも良い方法です。 それとももし、あなたがこういうダラダラした数式が好みだというなら、 =B2+IF(E2="UK","8:0")+IF(E2="USA","16:0") とか =B2+VLOOKUP(E2,{"UK","8:0";"USA","16:0"},2,FALSE) とかのようにガンバって書きこんでも、勿論構いません。 使いにくいだけですけどね。

kidd1022
質問者

お礼

ありがとうございました。 大変助かりました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

H列にUKなどの国記号を列記、I列に8:00などを列記します C2には =B2+VLOOKUP(E2,H:I,2,FALSE) のように記入し、以下コピーしておきます。

kidd1022
質問者

お礼

早速のご回答、ありがとうございました。 思いつきませんでしたが、確かにこの方法でも対応可能ですね。 更にわがままを言わせていただくと、出来れば列数を増やさずに対応したいと考えております。 もし、方法が分かればご教示いただけると大変助かります。 よろしくお願いいたします。

関連するQ&A