- 締切済み
マクロの組み方
初めまして。Excel2003のマクロについて質問です。売上のデータベースがあって、各データには製品コードが付されています。コードのままだと直感的にどの製品か分かりづらいので、例えば”100”というコードは”A製品””200”というコードは”B製品”というようにマクロにより自動的にデータベースを変換、若しくは列に”製品名”を自動で追加するようなことが行いたいのですが、全くの初心者であるためどうやればよいか分かりません。 どなたかプログラムの方法を教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kk437_0849
- ベストアンサー率0% (0/0)
この程度のことであれば、マクロを使わずに関数で十分事足りると思います。 製品コードと製品名の対比表がsheet1にあるとします。そしてA列に製品コード、B列に製品名とします。 MATCH関数でどの行にあるかを調べ、次にその行のどの列かを指定します。 調べる製品コードが A1 にあり H1 に製品名を表示する場合 H1に =INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)) と書けばよいはずです。
- saintandre
- ベストアンサー率31% (194/607)
コードを入力して隣のセルに製品名を出したいのでしたら マクロを使わず関数で以下のようにして実現できます。 [入力]シート A1セル:製品コードを入力 B1セル:=INDEX(製品コード!B:B,MATCH(入力!A1,製品コード!A:A,0)) [製品コード]シート A B 100 A製品 200 B製品 300 C製品 400 D製品 これでA1に製品コードを入力すると 対応した製品名がB1に表示されます。 なお、LOOKUP関数でも同様のことができますが 動作に不安定な部分があるため今回はMATCHとINDEXを使用しました。
お礼
saintandreさん> 早速のご回答ありがとうございます。 こちらであれば私でも分かり、助かりました。 ちなみに製品コードはダウンロードされており、(既に入力されている状態)そこから製品名を表示させることも可能でしょうか? ↓この状態です。 A(製品コード)B(製品名)C(売上高) 100 ¥100 200 ¥150 300 ¥200 400 ¥250 お手数ですがお分かりになればご教示下さい。 宜しくお願い致します。