- ベストアンサー
エクセルで見積時のデータの自動入力
見積作成時に、エクセルの住所録データから顧客名を選択すると、住所や施設名が自動的にしかるべきセルに反映出来るようにしたいのです。 A建設 B団地 C県D市123-4 といったデータでA建設を選択すると、施設、住所がセルに入力されるようにって出来ますか? イメージとしては見積の顧客名の部分をクリックするとズラーっと住所録データ上の顧客名が出てきて、選択すると施設名や住所が入力される(わかりにくくてスミマセン)感じです。 なにぶん初心者なのでわかりにくい説明かと思いますが、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どんな画面デザインで作られているのか、わからないのですが、 住所録データと見積とが同一シートにあるものと仮定して・・・。 社名/住所・・・・といった住所録データは、1顧客ごとに1行で表示されているとします。 (つまり、セルA1~D1に○○建設のデータ、セルA2~D2に××建設のデータ・・・という感じ。) 見積の顧客名欄が入るべきセルを選択し、 データ(D)→入力規則(L)→設定タブを開き、入力値の種類で「リスト」を選ぶ。 下に「元の値」というボックスが現れるので、 ボックスの右にあるボタンみたいのをクリックし、(細長いワクに変わります) 範囲をドラッグ&ドロップで指定します。 この時に指定する範囲とは、例の住所録欄の顧客名の欄です。 例えば、A1:A30、など。(行や列の番号の前に$も入りますが気にしない。) リスト外の顧客も直接入力で入れる事があるかもー、なんていう場合には、 実際に入力されているリストの一番下の行の空白行も入れておきます。 また、この先、顧客数がずっと増えそうなら、適度に長めに指定します。 終わったら、ボックスの右のボタンをクリックして元に戻る。 そして「OK」を押して、完了。 →これで、顧客名はドロップダウンリストで表示・選択できます。 住所等のデータの部分については、見積の顧客欄セルを参照データとして、 VLOOKUPを使って参照させればよいと思います。 例として、見積の顧客名セルがF1、住所録データがA1:D30で、 そのうち列Aが顧客名、列Bが住所、列Cが電話、列Dが備考とします。 見積のセルF2に住所を入れる場合は、 =VLOOKUP(F1,A1:D30,2,FALSE) 引数を4つ指定していて、1つめは「何と同じデータを持ってくるか」→F1セル 2つめ「どの範囲から?」→住所録データのA1:D30 3つ目「何列目?」→2列目(2つめの引数の指定範囲の1列目がA列、2列目がB列なので。 電話を参照させたいなら3にすればよい。) 4つ目「検索型は?」→完全一致を探すのでFALSEとする。 このあたりの使い方は、「VLOOKUP関数」で検索してみてください。 VLOOKUPでの2つ目の引数である範囲は、別のシートやブックのものも参照できるのですが、 「見積欄の顧客名をドロップダウンリストで」という形(先程書いた「入力規則」)は 同一シート内しか参照できません。やるとしたらVBAではないかと。 どうしても別シート・別ブックとして分けたいのであれば、 顧客名の住所録に通し番号なり顧客番号なりをつけるようにして、 見積のシート(orブック)ではその顧客番号を入力してVLOOKUPで参照、 とすれば、多少やりやすいと思います。 顧客名に入力しての参照でも出来ますが、誤入力や全/半角の違いでもハネられちゃうので、 これが数字で設定された顧客番号だったら、入力ミスは減ると思いますので。 私も初心者レベルなので、もっと良い方法があるかも知れませんが・・・。
お礼
早くに回答ありがとうございます! 私のわかりづらい説明から真意を汲み取ってくださって感謝です シートは同一でやろうと思っていました さきほど自分でやってみましたが わかりやすいご説明のおかげで出来ました 本当にありがとうございました