HPO:機密日誌

Since Jan. 13, '2004
Access
hatena counter:

2011-08-15

式典の座席表をエクセルで作る

ちょっとした式典を今週末に予定している。

ここで問題になるのが座席表。なにせ300人弱の方があつまる。表の上で何番テーブルの何番目とやっていてもわからない。

そこでエクセルを使って座席表を自動生成するようにした。

f:id:hihi01:20110815224035p:image

まず、名簿を用意しておいて、テーブルと席順で「No(セル/カラム)=テーブル番号 * 100 + 席順」とする。

そこで、テーブル番号順に10席の位置を作って、順番につぎのような式をいれてやった。

=IF(VLOOKUP(B1*100+9,名簿!$B$2:$F$325,5)=VLOOKUP(B1*100+8,名簿!$B$2:$F$325,5),"",VLOOKUP(B1*100+9,名簿!$B$2:$F$325,5))

ひだりから、「B1」はこのならびのテーブル番号。次の「+9」は座席順。テーブルの形をイメージしてセル毎日にぐるっと1テーブル分、この数字は指定してやる必要がある。ひとつのテーブル分つくってしまえば、あとはコピペでいける。名簿うんぬんのセル範囲指定は隣のシートで作ってある名簿。「5」はその5カラム目に氏名がはいっているので、それを読んでいる。一個前の「+8」番の席順で検索したときと比べているのは、vlookup関数ではインデックスに番号がない場合、それに一番近くて小さい方のデータを呼ぶので、10人マックスのテーブルで8人しか割り当てないと、8、9、10番目の席順に同じ人のデータが入ってしまうことを避けるため。

この結果こんな感じに名簿から自動生成される。

f:id:hihi01:20110815225523p:image

もうちょっとだけ補足すると、人数は次の式で出している。

=18-COUNTBLANK(B2:D7)

1テーブルあたり3×6の18セルを割り当てているので、その中でブランクのセルを引いてやれば名前の入ったセルの数=そのテーブルあたりの人数が出てくる。

「名」は「G/標準"名"」というユーザ書式設定で表示させている。テーブルも同様に「"テーブル"G/標準」という書式設定でやった。

ま、同じような羽目におちいる人がいるとは思えないけど、一応あげておく。

ねぇさんねぇさん 2011/08/16 08:20 こういう仕事大好きです。式を見てると、なんだかワクワクしますw。

hihi01hihi01 2011/08/16 08:38 ねぇさん、おはようございます、

パズル解くみたいで楽しいですよね。数百人分の座席表をワードで手動で作ると想うだけで気が遠くなりますよね。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hihi01/20110815/1313416689