• ベストアンサー

エクセル2003について質問をしたいのでよろしくお願いします。

エクセル2003について質問をしたいのでよろしくお願いします。 仮に、A1セルに日付を入力、A2セルにZ01と入力した場合、A3セルに自動的に時間で17時00分 A4セルに自動的に、19時30分と自動的に入力する方法は無いでしようか? 仮にA2セルに、Z02やZ03と入力する場合もありますが、やはりこのような場合にも予め決めた時間を 入力したいと考えております。 どなた様か、ご指導のほどよろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

No.4です! 補足を読ませてもらいました。 希望としては行方向にA列を参照して表示させたいということですね! もう一度画像をアップさせてもらいます。 前回とは数式が少し変わってきます。 (今回も日付はまったく無視になります) 尚、元データの表は適宜変更してみてください。 (数式では画像のE2~G6のデータを参照して、A列に入力されたものがE列に一致するF列・G列のデータをB・C列に返すようにしています。) 今回は画像のB2セルに =IF($A2="","",VLOOKUP($A2,$E$2:$G$6,COLUMN(B1),0)) という数式を入れ、列方向と行方向にオートフィルでコピーしています。 こんな感じで良かったのですかね? 余計なお世話かもしれませんが、数式の説明も少しだけ付け加えておきます。 VLOOKUP関数に関しては問題ないと思います A2(複合参照 → 列は絶対参照、行は相対参照)を 検索し、E2~G6(絶対参照)の範囲で B列に関しては「2列目」を、C列に関しては「3列目」のデータを返す。 という意味の数式です。 この中で COLUMN(B1) の部分は別にCOLUMN(B1000) でも一緒です。 結局B列の列番号「2」を指定しているだけです。 これを列方向にオートフィルでコピーすると (B1) → (C1) と変化しますので、 COLUMN(C1)=3 となりVLOOKUP関数で列番号「3」を返す! という意味です。 以上、長々と書きましたが 参考になれば幸いです。m(__)m

pcckit
質問者

お礼

tom04様。早速のご指導ありがとう御座いました。本当にありがとう御座いました。 数式についての、解説までして下さいまして、私にもとても理解しやすかったです。 本当に、ありがとう御座いました。 大変助かりました。 また、ご縁が御座いましたときはよろしくお願いいたします。 本当に、ありがとう御座いました。

その他の回答 (5)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

>A1セルに日付を入力 この質問の場合M日付は関係ないですよね。 >A2セルにZ01と入力した場合 仮に 2:00 と時間を入力したとします。 >A3セルに自動的に時間で17時00分 もれも17:30と入力して、表示形式で hh時mm分 と設定しましょう。 >A4セルに自動的に、19時30分と自動的に入力 式は =A2+A3 です。 >A2セルに、Z02やZ03と入力する場合もありますが、やはりこのような場合にも予め決めた時間を やはり 別に空いているセルに 対応表を準備すべきです Sheet2に  A B Z01  2:00 Z02 4:00 Z03  8:00 ・・・といった風です。 A4セルには =VLOOKUP(A2,Sheet2!A:B,2,FALSE)+A3  と云った具合の式で計算できます。 Vlookup関数で何時間を加算するは検索して足し算と云った感じです。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 直接の回答にならないと思いますが・・・ 時刻のデータになる根拠、もしくは規則性があるのではないかと思います。 質問文だけではそれが判らないので、憶測で失礼なのですが 勝手に↓の画像のような表を作ってみました。 あくまで憶測での表ですので方法だけの一助になればと思っています。 画像のB3セルに =IF(COUNTBLANK($B$1:$B$2),"",VLOOKUP($B$2,$D$2:$F$6,ROW(B2),0)) という数式を入れ、下のB4セルまでオートフィルでコピーすると、B2セルに入力した Z01に該当する表内の開始時刻・終了時刻を表示しています。 この場合日付がまったく関係なくなってしまいますので、本来であれば日付が関係するデータがあるのではないかと思います。 尚、具体的な根拠・データ等が判れば、他の方から希望に近い回答が得られると思いますよ。 この程度でごめんなさいね。m(__)m

pcckit
質問者

補足

tom04様。この度はご指導を頂きまして真にありがとう御座います。 >時刻のデータになる根拠、もしくは規則性があるのではないかと思います。 上記のように頂きましたが・・・ はい。確かにその通りで御座います。仮にZ01では10:00~16:35、Z02では11:00~15:00等様々で御座います。 今回とてもわかりやすく解説を頂いているのに、私の知識が無いばっかりに、ご指導を頂いた数式の意味が私には理解できませんでした。すいませんです。 =IF(COUNTBLANK($B$1:$B$2),"",VLOOKUP($B$2,$D$2:$F$6,ROW(B2),0)) 仮に、A2セルにZ01という内容を入力した場合、B2セルに10時00分、C2セルに16時間35分と自動的に入力させるには、どのような数式を入力すれば良いのでしょうか? よって、A3セルにZ02、B3セルに11時00分、C3セルに15時間00分、といった形も御座います。 大変、お手数では御座います。ご教示の程お願い致します。 この度は、ありがとう御座いました。

回答No.3

一覧表がどのように作られているかわかりませんが、勝手に作成して A3:A4セルを選択して =IF(COUNTA(A1:A2)<>2,"", INDEX(C3:F4,,MATCH(A2,C2:F2,0))) [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる) ただし、添付図のようなC2:F4セル範囲に表があるとします。 酔っぱらっているので複合参照端折りましたm(_ _"m)ペコリ

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

訂正 =IF(A2="Z01",TIME(17,0,0),IF(A2="Z02",TIME(18,0,0),IF("Z03",TIME(19,0,0),""))) ↓ =IF(A2="Z01",TIME(17,0,0),IF(A2="Z02",TIME(18,0,0),IF(A2="Z03",TIME(19,0,0),"")))

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

たとえば Z02で18:00 Z03で19:00 なら A3に =IF(A2="Z01",TIME(17,0,0),IF(A2="Z02",TIME(18,0,0),IF("Z03",TIME(19,0,0),""))) セルの書式設定→表示形式は時刻の時分表示にしておいてください。

関連するQ&A

専門家に質問してみよう