[excel]入力規則によってリストから複数項目を抽出する方法

用途が限定的すぎてわかりやすいタイトルが付けられない・・・

どういうことか

  • 商品リストがあります。
  • 商品リストには商品名とか金額とかを記入してます。
  • 取引先に卸すリストを作りたい。
  • 商品情報をいちいち手打ちするのはめんどくさい。
  • 商品リストから引っ張ってくる形でプルダウンで商品を選んで、ついでに金額も表示させたい。

そういうことをしたい場合。

流れとしては簡単で、以下の手順になる。

  1. データベースのシートを作る
  2. データベースの情報を活用するシートを作る
  3. 入力規則でデータベースを選択できるようにする
  4. 選択した情報を元に、関連する情報を引っ張ってくる

関数はVLOOKUPを使う。

参考

【EXCEL】プルダウンリストと別セルの関連付けを行う方法
訪問して頂きありがとうございます。まさふくろーです。 この記事では、プルダウンリストと別セルの関連付けを行う方…

ぶっちゃけた話、ほぼこのまま使えばいい。これの、VLOOKUPの中にある参照元をデータベース用シートのものに書き換える。

ExcelのVLOOKUP関数で別シートの範囲を参照する使い方
VLOOKUP関数は別シートを引数として参照できます。指定したいデータを複数シートで管理していてもシートを1枚にする必要がないので便利です。別シートの範囲を参照する方法と参照ができない場合の原因と対処法をご紹介しています。

注意点

VLOOKUPの検索キー(入力規則セル)が空欄のとき、セルにはエラー表記的なものが出て見栄えが悪い。だからifで囲って、検索キーが空欄であれば空欄表示、記載があったときだけVLOOKUPが発火するようにしてある。

だけど、エクセルは試してないけど、Googleスプレッドシートで組んだ際、コピペなりベタ打ちなりでifから書き始めると別シートの内容を取得できなかった。記述は間違ってないから正直言って原因はわからないんだけど、対策として、まず=VLOOKUP()で組んで、動作確認ができてからifを被せる。そうするとちゃんと動いた。コピーして別のセルに貼ってもちゃんと動いた。上手く行かない場合はそういう手順を踏んでみること。

ただまあ、振り返ってみれば、別シートの範囲指定をベタ打ちにしたときは動かなくて、マウスでセル指定したときは動いたようにも思う。そのへんのアプローチなのかもしれない。普段は関数にねじ込む形で別シートから引っ張ることはしないので、ひょっとしたら世の中的に当たり前のやらかしなのかもしれない。

注意点2

VLOOKUPによるソートはユニークなワードである必要がある。今回は商品リストを例に上げたけど、商品名がかぶってる場合はどうなるのよって話になる。そうした場合は商品名によるソートじゃなく、例えば型番とかで選ぶようにするのがいい。

考え方

phpmyadminとかのデータベースの扱いと同じイメージを持てばなんとかなる。登録内容に識別可能なユニークな項目があれば、それをトリガーにして同行内の要素を取得できる。だから、登録項目を吟味してデータベースを構築しておかないと詰む。

コメント

タイトルとURLをコピーしました