用途が限定的すぎてわかりやすいタイトルが付けられない・・・
どういうことか
- 商品リストがあります。
- 商品リストには商品名とか金額とかを記入してます。
- 取引先に卸すリストを作りたい。
- 商品情報をいちいち手打ちするのはめんどくさい。
- 商品リストから引っ張ってくる形でプルダウンで商品を選んで、ついでに金額も表示させたい。
そういうことをしたい場合。
流れとしては簡単で、以下の手順になる。
- データベースのシートを作る
- データベースの情報を活用するシートを作る
- 入力規則でデータベースを選択できるようにする
- 選択した情報を元に、関連する情報を引っ張ってくる
関数はVLOOKUPを使う。
参考
ぶっちゃけた話、ほぼこのまま使えばいい。これの、VLOOKUPの中にある参照元をデータベース用シートのものに書き換える。
注意点
VLOOKUPの検索キー(入力規則セル)が空欄のとき、セルにはエラー表記的なものが出て見栄えが悪い。だからifで囲って、検索キーが空欄であれば空欄表示、記載があったときだけVLOOKUPが発火するようにしてある。
だけど、エクセルは試してないけど、Googleスプレッドシートで組んだ際、コピペなりベタ打ちなりでifから書き始めると別シートの内容を取得できなかった。記述は間違ってないから正直言って原因はわからないんだけど、対策として、まず=VLOOKUP()で組んで、動作確認ができてからifを被せる。そうするとちゃんと動いた。コピーして別のセルに貼ってもちゃんと動いた。上手く行かない場合はそういう手順を踏んでみること。
ただまあ、振り返ってみれば、別シートの範囲指定をベタ打ちにしたときは動かなくて、マウスでセル指定したときは動いたようにも思う。そのへんのアプローチなのかもしれない。普段は関数にねじ込む形で別シートから引っ張ることはしないので、ひょっとしたら世の中的に当たり前のやらかしなのかもしれない。
注意点2
VLOOKUPによるソートはユニークなワードである必要がある。今回は商品リストを例に上げたけど、商品名がかぶってる場合はどうなるのよって話になる。そうした場合は商品名によるソートじゃなく、例えば型番とかで選ぶようにするのがいい。
考え方
phpmyadminとかのデータベースの扱いと同じイメージを持てばなんとかなる。登録内容に識別可能なユニークな項目があれば、それをトリガーにして同行内の要素を取得できる。だから、登録項目を吟味してデータベースを構築しておかないと詰む。
コメント