[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一覧表から時間割を作成する』(hiro)
sheet1 に次のような一覧表があります。(本当は月曜日から金曜日まであり、
教師の行も40行ほどありますが)
A B C D E F 1 月曜日 2 教師 教科 1校時 2校時 3校時 4校時 3 山田 国語 1-1 1-2 1-3 4 高橋 数学 1-2 1-3 1-1 5 木村 理科 1-1 1-2 1-3 6 安田 社会 1-3 1-1 1-2
1-1は1年1組のことです。
sheet2 にsheet1の一覧表から次のような時間割を作りたいのですが、関数等で作ることが可能でしょうか。
A B 1 1年1組 2 月曜日 3 1校時 国語 4 2校時 理科 5 3校時 社会 6 4校時 数学 7 8 1年2組 9 月曜日 10 1校時 数学 11 2校時 国語 12 3校時 理科 13 4校時 社会
OSはWindows 7 Excel2007です。よろしくお願いします。
例が省略されているのであとはご自身でカスタマイズをということで、 たたき台程度の例ですが、
A1:F6(範囲は実際に合わせて)を MONDAY と名前を付けておけば、 Sheet2 の A1 に 1-1 としておき、 B3=INDEX(MONDAY,MATCH($A$1,OFFSET(MONDAY,0,ROW(A2),ROWS(MONDAY),1),0),2) 以下B列にコピーで 1-1 は出るかと思います。
あとは、如何に曜日とクラスの参照を効率よく作るかでしょうか。 関数は苦手なので、この程度ですみません。 (Mook)
私が作るなら、ということで・・・ もととなる一覧表は次のように作ります。 クラスのデータはハイフォンなしの「11」と入力し、 セルの書式設定の表示形式のユーザー定義で「0!-0」などとし 「1-1」などと表示させます。 Key列は「=A2&B2&C2」の数式で作成します。 クラス 曜日 校時 教科 教師 key 11 月 1 国語 山田 11月1 11 月 2 理科 木村 11月2 11 月 3 社会 安田 11月3 11 月 4 数学 高橋 11月4 12 月 1 数学 高橋 12月1 12 月 2 国語 山田 12月2 12 月 3 理科 木村 12月3 12 月 4 社会 安田 12月4 13 月 1 社会 安田 13月1 13 月 2 数学 高橋 13月2 13 月 3 国語 山田 13月3 13 月 4 理科 木村 13月4 検索するシートでは
[A] [B] [1] 11 [2] 月 [3] 1 国語 [4] 2 理科 [5] 3 社会 [6] 4 数学 [B3] =INDEX(Sheet1!D:D,MATCH(OFFSET(A3,-A3-1,)&OFFSET(A3,-A3,)&A3,Sheet1!F:F,0)) などとしておきます。 また、次の各セルは、書式設定の表示形式のユーザー定義で次のように設定します。 [A1] のクラス、「0!-0」 [A2] の曜日、 「0"曜日"」 [A3:A6]の校時 「0"校時"」 で、そちらで現在「もととなる表」と考えておられるものは 私の考えている「もととなる表」からピボットテーブルで次のような 感じで出力できます。(実際はもう少し見やすく出力されるはずです) クラス部分は合計が出力されていて、本来は「11」「12」などが表示 されていますが、ここも表示形式のユーザー定義で、「0!-0」を設定しています。 集計や総計などは非表示にもできますので、もう少し見やすくできるでしょう。 合計 / クラス 列ラベル 月 月 集計 総計 行ラベル 1 2 3 4 国語 山田 1-1 1-2 1-3 36 36 社会 安田 1-3 1-1 1-2 36 36 数学 高橋 1-2 1-3 1-1 36 36 理科 木村 1-1 1-2 1-3 36 36 総計 36 36 36 36 144 144 (みやほりん)
>関数等で作ることが可能でしょうか。 実際の表が大きそうなので、マクロ向きと思います。
>sheet1 に次のような一覧表があります。(本当は月曜日から金曜日まであり、 複数種ある場合は、最低2種(つまり、火曜日まで)のサンプルが必要です。
※ 回答側で入力表が正確に再現できないと、 対策を提示しても、実際に応用することが出来ないと云われ、 回答が二度手間になることが少なくないです。
私には、全学年が4校時しか無いとは思えないのですが・・・
(半平太) 2011/05/05 10:03
いろいろ試して見ます。
Hiro
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.