VLOOKUP関数を使って「車両運行スケジュール表」を作成
複数の車両の運行表を管理するのは大変面倒な業務です。
車両の数が少ない場合は単純な「スケジュール表」で問題ありませんが、5台を超えてくると「表」に一覧性が無くなり「今、どの車両が空いているのか」「この車両の次の予定はどうなっているか」を確認するのが難しくなってきます。
VLOOKUP関数を使って「スケジュール表」を検索する仕組みを作れば、スケジュール管理が簡単になります。
VLOOKUP関数を使って状況に応じて選択肢のリストを変える
車両ごとに作成された「運行予定表」から、VLOOKUP関数を使って現在時刻を基準にして「現在の状況」と「これからの予定」の2種類の表を切り替えて表示します。
「現在使用中の車両」の表で、車両を指定すると現在時刻でその車両がどのような状況なのかを調べることができます。
「車両の使用予定」の表で、車両を指定すると現在時刻以降でその車両のこれからの予定を調べることができます。
関数を使って、現在時刻を条件にして「現在の状況」と[これからの予定」の2つの表を切り替えることにより、素早く「空いている車両」を探したり、「車両がいつまで使えるのか」を調べることができます。
車両ごとに作成した「表」を構造化参照で切り替える
VLOOKUP関数で参照する範囲を切り替えるには「構造化参照」を使います。
それぞれの表を「テーブル化」しておき、VLOOKUP関数の参照範囲を「テーブル名」で検索して切り替えます。
3台の車両別に「予定表」を作成します
3つの車両別の「運行表」を現在時刻を条件にして選択します
それぞれの「表」をテーブル化することで、データが増えてもVLOOKUP関数の「範囲」を変更する必要がなくなります。
「車両表」をテーブル化します
- 表の1つのセルをクリックします
- 「挿入」タブを選択します
- 「テーブル」をクリックします
- 表の範囲が選択されていることを確認します
「テーブル名」を変更します
表をテーブル化して、テーブル名をそれぞれの車両の名称に変更します。
- テーブル内のセルをクリックします
- リボンに「テーブルツール」タブが出現するので選択します
- 「デザイン」をクリックします
- テーブル名を「車両A」に変更します
※ 「テーブル化」することによって、データ(行)を追加しても自動的に「テーブルの範囲」が拡張されます
情報を表示する「表」を作成します
車両名を「リスト入力」で選択できるようにします
- 車両名を入力するセルを選択
- 「データ」タブを選択
- 「データの入力規則」を選択
- 「データの入力規則」をクリック
- 入力の種類を「リスト」に設定
- 元の値のボックスに「車両A,車両B,車両C」と入力
セルに数式を入力する
VLOOKUP関数で参照する範囲(表)をINDIRECT関数を使って切り替えます。
- 「現在時刻」のフィールドに現在時刻を表示させる
- INDIRECT関数で車両名に応じた「テーブル名」を選択し「2列目」の用途を指定する
- INDIRECT関数で車両名に応じた「テーブル名」を選択し「3列目」の使用者を指定する
- 現在時刻のセルの表示形式を「セルの書式設定」で時刻表示に変更する
現在時刻時点の「用途」と「使用者」が表示されます
車両別の「使用予定」を表示します
「使用予定」の表では、「車両名」だけではなく「用途」でも検索できるようにします。
「用途」でも検索できるように「入力規則」を設定します
リスト入力の設定で「元の値」の範囲をINDIRECT関数とINDEX関数を使って設定します。
- リスト入力を設定するセルを選択
- 「データ」タブを選択
- 「データの入力規則」をクリック
- 元の値に、数式「=INDEX ( INDIRECT (B8) , 0 , 2) 」と入力し、「B8」と同じセル範囲の「2列目」全体を取り出します
INDIRECT関数で表を指定し、INDEX関数で表のフィールド(列)を指定します
「予定時刻」と「使用者」に数式を入力します
「車両名」を選択すると直近の予定時刻が表示され、「用途」では今後の内容がリスト入力で選択できるようになります。
「予定時刻」と「使用者」に数式を入力します
- MACH関数を使って「用途」の条件を絞り込み、INDEX関数で「予定時刻」を検索します
- 「予定時刻」を条件にして「使用者」を検索します
車両名を選択すると「用途の一覧」が表示され、さらに用途を選択すると「予定時刻」が表示される
- 車両名を選択すると、直近の「予定時刻」が表示されます
- 用途のラジオボタン「▼」を押すと用途の一覧が表示される
- 「用途」の内容をクリックすると「予定時刻」が表示される
※ 「用途」に使用する事業部の情報を加えれば、どこの事業部が使用するかも分かります。
今回の様に「3台」程度であれば、3つの表を一目で確認することができますが、これが「10台」で10の表になると「空いている車両」を探すのも大変です。
INDEX関数を使えば参照する表を切り替えることができるので、簡単に確認することができます。
「同一の表にすべての予定」を入力するのではなく、表を車両別に「分ける」ことによって運用管理が楽になります。
車両ごとに分けた表を「同一の」様式にしておけばINDEX関数を使って切り替えることができます。
INDEX関数、MATCH関数に関しては他の記事も参考にしてください。