• 締切済み

Excel:外部テーブルを参照したい

Excelでファイルを作成する際によく使うデータがありますので、それをテーブルとしてファイルをひとつ作っておいて、キーになる言葉を入力したら該当のデータを読み込むようにしたいのです。 たとえば、「価格表」というファイルをひとつ作っておきます。価格には定価とバーゲン価格と二種類あるとします。縦に製品リスト、横に「通常価格」「バーゲン価格」のカラムを作り、マトリックス上に数字(価格)を埋めておきます。 そして、見積書を作成する際に、セルA1に製品名を、セルA2に通常価格かバーゲン価格かを記入すると、セルA3に実際の価格が自動的に記入される、というようにしたいわけです。 そんなに難しい話ではなく、ありがちな操作だと思うのですが、通常の関数では無理そうです。 参考になるサイトのURLを教えていただくのでも結構です。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルの別シートに検索表を作り、VLOOKUP関数で検索すればよいのでは。まさかVLOOKUP関数の仕様経験が無いのでは無いでしょうね。 >ありがちな操作だと 言わなくてもエクセルを事務で使う人はそうしています。 エクセルの別ブックに、表を持つ方法もありますのでWEBで「VLOOKUP 別ブック」で照会してみてください。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1410347534 エクセル以外のソフトでは、エクセル以外のファイルに(テキストファイルなど)に、必要情報を持ち、処理を始めるとき毎度読み込み 変数や配列にセットし、実行中に使うのは良く使う手だと思います。 しかし質問者は一番簡単なテキストファイルをプログラムで読み書きするのも現状ではできないのではないかな。 ですからエクセルのシートでの記録を言うわけです。

Reiko2
質問者

お礼

ありがとうございます。VLOOKUP関数は知りませんでした(なぜ「まさか」なのかよくわかりませんが)。試してみます。

  • ikuccha
  • ベストアンサー率36% (21/58)
回答No.1

通常の関数で出来ますよ。 特に問題が無いなら、同じブック内の違うシートで見積書と価格表を作ると便利です。 ○シート1(見積書)※A~Bは列番号1~3は行番号。   A        B       C 1 該当商品名 選択価格  単価(計算式) セルC1に次のような計算式を入れます。 『 =INDEX(Sheet2!$A$1:$C$3,MATCH(A1,Sheet2!$A$1:$A$3,0),MATCH(B1,Sheet2!$A$1:$C$1,0)) 』 ○シート2(価格表)※A~Bは列番号1~3は行番号。   A      B      C 1 商品名  価格   B価格 2 アメ    100    50 3 ガム    120    60 更に、シート2の『商品名~ガム』までを選択し、『挿入』⇒『名前の作成』⇒『名前の作成先』を上端行で作成します。 そしてシート1のA1セルを選択して『データ』⇒『入力規則』⇒入力値の種類を『リスト』、『元の値』欄に『 =商品名 』と入れると商品名のリスト入力が可能になります。 この操作に関しては同じブック内でしか出来ません。 今回の質問の関数については、上記の関数で大丈夫だと思います。 ブックを分けた場合は、ブック参照を上記の関数に付け足して見て下さい。

Reiko2
質問者

お礼

ごていねいにありがとうございます。試してみます。

関連するQ&A