• 締切済み

マクロの組み方

初めまして。Excel2003のマクロについて質問です。売上のデータベースがあって、各データには製品コードが付されています。コードのままだと直感的にどの製品か分かりづらいので、例えば”100”というコードは”A製品””200”というコードは”B製品”というようにマクロにより自動的にデータベースを変換、若しくは列に”製品名”を自動で追加するようなことが行いたいのですが、全くの初心者であるためどうやればよいか分かりません。 どなたかプログラムの方法を教えていただけないでしょうか?

みんなの回答

回答No.2

この程度のことであれば、マクロを使わずに関数で十分事足りると思います。 製品コードと製品名の対比表がsheet1にあるとします。そしてA列に製品コード、B列に製品名とします。 MATCH関数でどの行にあるかを調べ、次にその行のどの列かを指定します。 調べる製品コードが A1 にあり H1 に製品名を表示する場合 H1に =INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)) と書けばよいはずです。

回答No.1

コードを入力して隣のセルに製品名を出したいのでしたら マクロを使わず関数で以下のようにして実現できます。 [入力]シート 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を使用しました。

UNION-TARO
質問者

お礼

saintandreさん> 早速のご回答ありがとうございます。 こちらであれば私でも分かり、助かりました。 ちなみに製品コードはダウンロードされており、(既に入力されている状態)そこから製品名を表示させることも可能でしょうか? ↓この状態です。 A(製品コード)B(製品名)C(売上高) 100              ¥100   200              ¥150  300              ¥200 400              ¥250 お手数ですがお分かりになればご教示下さい。 宜しくお願い致します。

関連するQ&A

専門家に質問してみよう