• ベストアンサー

エクセルのデータベースで参照・貼り付け

エクセル2003で、部品在庫のデータベースを作成してあります。 シート1"18年部品在庫" [コード][部品名称][単価][数量]... シート2は"19年部品在庫"ですが、ほぼ白紙の状態。 [コード]を手入力すると、昨年のデータベースを参照し[部品名称][単価][数量]を貼り付け。 単価や、数量に変化がある場合、19年度のシートの単価や、数量だけを修正したいと思います。 ※できるだけマクロではなくて、関数で行いたいと思います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1年で1シートを使って在庫管理をされているんですね。 念のため確認ですが、その1年分の部品在庫データーベース中に同じコードが2度以上出てくることはないですよね? 1つのコードは1行(1レコード)にしか書かれていないのならばVLOOKUP関数で求められている処理は出来るかと思います。 例えばsheet1(18年部品在庫)には下記のようなデータが入っているとします。    A    B   C   D  1 コード  名称 単価  数量 2  1    あ  10   25 3  2    い  20   31 4  3    う  15   19 sheet2(19年部品在庫)は1行目の項目のみが書かれているとします。 そしたらsheet2(19年部品在庫)のセルB2に =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$D$4,2)) という式を入れます。 sheet2のセルA2にコード「3」を入力するとセルB2には「う」と現れます。 同様にsheet2のセルC2には =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$D$4,3)) sheet2のセルD2には =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$D$4,4)) と入力すると数量・単価も平成18年のデータベースを参照し、平成19年のものに表示されるようになるかと思います。 式を入力したセルB2~D2を最初の段階で適当なところまでコピーしておくと便利です。 ちょっとわかりにくいですかね(^^; また何かあったら補足書いてください。

adjusted
質問者

お礼

参照されたデータ...つまり[単価]や[数量]などは表示されますが、19年度は単価や、数量が変化したりする場合がありますよね。 その場合だけ、入力し直したいんです。 VLOOKUPなどの式を使うとセル自体に式が入力されているため、修正を加えると式を書き換える事になります。 参照した数値自体をセルのデータとして持たせたいわけです。 「コードから参照したデータを、どこどこのセルにコピーしなさい」...という作業をしたいと思っています。 すみません。お手間おかけしました。 ありがとうございます。

その他の回答 (1)

回答No.2

No.1です。 補足説明読ませていただきました。 VLOOKUPで表示させたデータを行コピーし、その行に「値」として貼り付け修正を行うという方法はどうでしょうか? 最初は数式で入ってますが、値として貼り付けることによって望まれている状態になるかと思います。 または求めたいデータを表示させる専用行を作っておくのも手かもしれないですね。 平成19年のデータベースの上に[コード][部品名称][単価][数量]の項目を作っておき、そこにコードを入力すればそれ以降のデータが表示されるようにしておいてデータベースへはそれを見ながら入力するとか。 もっと効率の良い方法が思いついたらまた書かせて頂きます。

adjusted
質問者

お礼

ありがとうございます。 私にデータベースソフトや、VBが組めればその方が良いのでしょうが....挫折したので(汗)

関連するQ&A