アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、いつも大変お世話になっています。

現在時間割表を作成しています。
B3に教員名「山田」
B4~F4に「月」「火」「水」「木」「金」
A5.6(セルを結合しています)に「1限」
A7.8に「2限」A9.10に「3限」A11.12に「4限」A13.14に「5限」
B5には「科目名」
B6には「教室」が入ります。(他のセルも同様で、上に「科目」下に「教室」です)
H3 O3 A16 H16 O16にもそれぞれ教員名が入り
同じように一週間の時間割があります。


別のシートには
「教員名」「曜日」「時限」「科目」「教室」
  山田  月    1   英語  302
  山田  月    2   英語  102
  山田  火    1   国語  208
  田中  月    3   数学  308
  田中  水    5   数学  103

となっています。

今は時間割表に手動で科目と教室を入力しているのですが、
20名分の作業になり大変です。
一覧のデータから自動的に時間割表に入力することはできないでしょうか?
windowsXP Office2003を使用しています。

よろしくお願いします。

A 回答 (2件)

教員おのおのの時間割があって、「別のシート」を参照してたとえ


ば「山田先生の月曜日の1時限目」の科目と教室を見つければいいん
ですよね。だったら単純にvlookup関数でいいんじゃないですか。

まず、「別のシート」の時限と科目の間に1列追加して、
=教員名&曜日&時限
な式にします。これで探すべきキーが出来ました。

B5は、「山田先生の月曜日1時限目」を探して科目を返しますから、
=vlookup($B$3&B$4&$A5,別のシートの表,2,FASLE)
ですね。空き時間は#N/Aエラーになるので、そのまま印刷したいな
ら=if(isna(vlookup(~とエラー処理をする必要があります。面倒く
さいので、「別のシート」に空き時間分もデータを作っとくのがお
すすめ。
    • good
    • 0
この回答へのお礼

ありがとうございました。
Vlookup関数を使うとは考えつきませんでした。
早速やってみます。

お礼日時:2008/06/03 08:54

ワークシート関数での方法は思いつかず、VBAを使う方法しか考え付きません。



VBAでは、一覧データを上から順に、データが無くなるまで、各行で処理をします。

処理内容としては、
教員名から、その教員の月曜1時限のセルを割り出し、曜日と時限から記入する位置を割り出し、科目と教室を記入します。

やることはこれだけです。

Do While ~ Loop 構文が解れば、あとは難しいことはありません。
Offsetプロパティを使うと便利かな、っていうくらいです。

あとは、ご自分で勉強なさってください。
勉強していく中で、解らないことがあったら、またここで聞くと良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
仰るとおりですね。ついついこちらに頼る癖がついてしまい、申し訳ないです。
早速VBAを調べてみました。
まだ難しいですが、なんとなくできそうです。

お礼日時:2008/06/03 08:52

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