在庫管理表 Part2
現場で使えるテクニック
入庫表にテーブル、項目はリストから
今回は入庫票というシートに入庫を管理する 表を作成し、それにテーブルを適用します。
テーブルにしておけば列や行を増やすことが可能になります。商品リストから項目を呼び出すことも簡単です。
そういう意味でテーブルはとてもメンテナンス性が高いんです。
Excelバージョン:
(サンプルファイルは、こちらから 在庫管理1回サンプルデータ)
入庫表のコードをドロップダウンリストにする
商品リストと同様にコードの部分はドロップダウンリストにしましょう。
サンプルでは一応ドロップダウンリストになっていますが、 コードが増えた場合の対応がなされていません。
データの入力規則から、元の値として入力されている式を変更します。商品リスト!$L$3:$L$15となっていますが、
OFFSET関数をつかうようにします。
=OFFSET(商品リスト!$L$3, と入力し、
商品リスト!$L$3はそのままで、行、列は、0,0とします。続けてCOUNTA関数を使い、商品リスト!L:Lでデータの個数を数えます。=OFFSET(商品リスト!$L$3,0,0,COUNTA(商品リスト!L:L),1)
最後の列は1行と指定します。OKをクリックして、データの入力規則を終了します。
表をテーブルに
今度は表のどれか一つセルを選択した状態で、Ctrl + Tを押します。これは、テーブルを作成するショートカットキーです。
テーブルの作成ダイアログボックスが表示されるので 範囲を確認し、先頭行をテーブルの見出しとして使用するにチェックが入っていることを確認して OK をクリックします。
テーブルが作成されました。書式はデフォルトになっています。
テーブルの書式を変更
テーブルの書式は、簡単に変更することができます。ここではシート見出しの色に合わせてグリーン のテーブルにしています。
なぜテーブルか、テーブルが便利な理由
なぜ在庫管理表にテーブルを使うのかという理由の説明をします。
商品リストのシートに戻りますが、 商品リストはテーブル名をItemという名前にしています。
=Item[ とと入力すると使用できる構造化参照の名称が表示されます。@は、 この行という意味になります。
=Item[@CODE]で、この行の コード という意味です。=Item[@商品名]ならば、この行の 商品名という意味です。
隣の列には =Item[@色 ]と入力しているので 商品の色が表示されています。
=Item[@サイズ]と入力しているので サイズが表示されています。テーブルを使うことで面倒な関数の入力がかなり省略されます。
Index関数Match関数
入庫表で 商品リストから 商品名や 色サイズなどを取得するにはここではインデックス関数を使います。 その index 関数を使うためには Match 関数で行と列をそれぞれ取得する必要があります。
Match 関数で 行番号を取得するには、 構造化参照を使って次の式を用います。
=MATCH(In[@CODE],Item[CODE])
Match 関数で 列番号を取得するには、 構造化参照を使って次の式を用います。
=MATCH(In[[#見出し],[商品名]],Item[#見出し],0)
In[[#見出し],[商品名]] で見出し行の商品名という意味です。その位置する番号を商品リストの見出し行から探せという意味の数式です。