今日からはじめる健康美ライフの秘訣は?>>

手も足も出ず、大変困っています。みなさんのお力を貸してください!

(1)まず、あるセルに1を入力するとその横のセルに「平日」、2なら「休日」、それ以外なら「再入力」と表示するようにします。(2)そして、何時台(7~19時)で、何本目(「1~5」の数字で入力)の電車かを入力すると(3)電車の出発時刻が表示されるようにします。その際、平日の場合は「平日ダイヤ」、休日の場合は「休日ダイヤ」を参照し「○時○分」の形式で表示するようにします。

平日ダイヤ
  (休日ダイヤも時間は違いますが同様の形です)
    A  B   C  D   E  F
 1     1   2   3   4   5←何本目か
 2  7時  0  15  30  40  55
 3  8時  2  16  30  40  56
 4  9時  1  15  30  46  56
 ・  ・  ・  ・  ・  ・  ・
 ・  ・  ・  ・  ・  ・  ・
 11 16時  1  15  30  40  55


時刻換算表
    G   H
 1  7時  1
 2  8時  2
 3  9時  3
 ・  ・  ・
 ・  ・  ・
 10 16時  10

Excel初心者で、何をどのように使って出発時刻をだしたらいいのか分かりません。ifを使って地道に計算していくと式がかなり長くなるし…VLOOKUPも組み合わせるのかなとも思ったのですが、どこにどう組み入れていいのかわかりません。
どのような方法で計算したらいいのか教えて下さい。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

#3です。

一般化という話が出たのを見て
例データ
「平日ダイヤ」とSheet1のシート名を改める
7時015304055
8時216304056
9時115304656
時間の列は、入力データは7,8,9・・として、書式でユーザー定義「#時」を設定して、上記のように見えているもの。
休日ダイヤとSheet2のシート名をかえる。
7時217324357
8時418324358
9時317324357
7,8,9時の時は書式で出している。
Sheet3に行って
2休日
何時台何本目出発時刻
8332
出発時刻の下のセルの式は
=INDEX(INDIRECT(B1&"ダイヤ!$A$1:$j$19"),MATCH(A3,INDIRECT(B1&"ダイヤ!$A$1:$A$19"),0),B3+1)
J列のjー>1日の各時間帯のうち、最大本数の列で修正してください
$19の19->1日の時間の最終ダイヤがある最下行で修正してください。
A1に3以上を入れたときのエラーは=IF(A!>2,・・・)や
=IF(OR(A1=1,A1=2),・・・)を加えてください。
ーーー
この質問は各時刻の「何番目」を指定することになっている。時刻表では、この何番目は、時刻表が手元に見てないはずで、判るはずがないので設問としておかしい。
何かほかの(職場などの)問題をそのまま質問に公表することを恐れ、時刻表の例に変えたのではないですか。しかし元の問題の解決に戻すときに、初心者が適切に式や考え方を修正できるか疑問あり。
時々そういう推測例に出くわすが、できるだけ正直に実際例に近い例で、質問したほうが良いのでは。
「下司の勘ぐり」であればすみません。
    • good
    • 0
この回答へのお礼

またのご回答ありがとうございます。学校の課題なのですが、質問をどうまとめたら良いか分からず初心者丸出しで
書き込んでしまいました(^_^; これからしっかり勉強したいと思います。丁寧なご回答ありがとうございました!

お礼日時:2006/07/03 00:23

#2です。


こっちの方がより正確で汎用性があるかな。(長いけど)

=INDEX((平日ダイヤ,休日ダイヤ),MATCH(h時,INDEX((平日「時」リスト,休日「時」リスト),,,平日休日を示す番号),0),n本目,平日休日を示す番号)
    • good
    • 0
この回答へのお礼

またのご回答ありがとうございます。完成できました。このような方法もあるのですね!これからぜひ勉強したいと思います。ありがとうございました!

お礼日時:2006/07/03 00:12

例データ


Sheet1  平日ダイヤ
7時015304055
8時216304056
9時115304656
Sheet2  休日ダイヤ
7時217324357
8時418324358
9時317324357
Sheet3のA1に1,2,3を入れる。
B1に=IF(A1=1,"平日",IF(A1=2,"休日","再入力"))
A2:D2に
何時台何本目出発時刻
A3に7、B3に2
D3に
=IF(A1=1,INDEX(Sheet1!$A$1:$I$19,A3-6,B3+1),IF(A1=2,INDEX(Sheet2!$A$1:$I$19,A3-6,B3+1),""))
で15
該当無しエラー対策は略(複雑になり焦点がぼやけるので)
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/04 20:59

=INDEX((平日ダイヤ,休日ダイヤ),MATCH(h時台,同左リスト,0),n本目,平日/休日を示す番号)

    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/04 20:58

お仕事でしょうか


学校でしょうか
丸投げというつもりはないのでしょうけど・・・・

先ずは下記あたりをを参考にしてください

検索/行列関数(INDIRECT関数)
http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_ …検索/行列関数(INDIRECT関数)
の使用例 2

日付/時刻関数(DATE、TIME関数)
http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_ …日付/時刻関数(DATE、TIME関数)
のTIME関数
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。学校ででた急な課題であせっていましたが、完成できました。参考にさせて頂きました。INDIRECT関数はまだ勉強していないので、これからぜひ勉強したいと思います。ありがとうございました!

お礼日時:2006/07/03 00:02

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報