エクセルで特定の商品コードをセルに入力すると
その商品コードに対する商品名称(日本語)を
表示させたいのですが、具体的にどのような
コーディングにすればいいのでしょうか??

入力シートから 商品コード・商品名称が入力してある
シートを参照させて商品名称を取得したいのです。
可能ならば 該当する商品コードに対する名称が
取得できなかった場合、何かのメッセージボックスを
表示させたいのですが・・・。

エクセルのバージョンは97です。
OSはWin98です。
商品コードに対する商品名は1対1で
商品コード・商品名称の入っているシートと
商品コードを入力するシートとは
同一ブックです。


100件以上のコードに対して紙ベースで
商品名称を捜すのに 泣いています(≧_≦)
助けて下さい!!!

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんにちは。


えーと,VBAではなく,関数を使った方法なんですが・・・。

VLOOKUP関数を使った方法です。

例えば,A列に商品コード,B列に名称が入っていたとします。
そして,C1のセルがコード入力欄,D1のセルが商品名称(アンサー)を出したいセルという設定で・・・。
この場合,D1のセルに
=vlookup(C1,A1:B5,2,TRUE)
と入力するとアンサーとして商品名が出てくるはずです。
関数の簡単な説明として
C1は検索したい値,A1:B5は検索したい情報テーブル,2はアンサーとして出したいデータテーブルの列(左端から数えて)
TRUEは同一の値を検索するという意味です。

関数ウイザード(fx)を起動してやってみると,簡単に出来ます。
ちょっと説明がうまく出来なくてすいません。理解して頂けたでしょうか・・・。
    • good
    • 0
この回答へのお礼

ありがとうございます。
詳しく引数の説明とかありましたので
すごく助かりました!!
もう めちゃくちゃ活用できました!!
マスタ作りには多少時間がかかりましたが
あの、アナログな作業から解放されました!!

>>多少 重くなりましたがブックリンクとかで
>>ガンガンに使いまくってます☆
>>次の月次〆が楽しみです(*^-^*)
>>問合せ対応もラクチンです☆

お礼日時:2001/02/28 00:55

こんにちは



 以下のページがご参考になるのでは?

指定したコードに対する製品名や金額を求める (VLOOKUP関数)
http://support.microsoft.com/intl/japan/support/ …

参考URL:http://support.microsoft.com/intl/japan/support/ …
    • good
    • 0
この回答へのお礼

ありがとうございます
MS社のホームページに解説ページが
あったとは・・・。知らなかったです(^^;
これから 少しは自分で関数とか勉強したいと
思います☆

お礼日時:2001/02/28 00:58

あとで気がつきました。


よく読めば違うところは1個じゃないですね。

私のPCのヘルプによればvlookup関数の4つ目の引数は、falseが正解です。
多分イージーミスだと思いますが。

お仕事に使われるのだと思いますので、よく関数のヘルプを読んで使ってくださいね。>hemaさん
    • good
    • 0

あら、出遅れたようで。


まあ、1個だけ違うところ(該当商品が無い時のメッセージ)があるので紹介させてください。
+++++++++++++++++++++
下のようにA6からB11に一覧表があるとき。
   A   B
-----------------------
6 | 104 カッターナイフ
7 | 105 はさみ
8 | 106 のり
9 | 107 ホッチキス
10| 108 定規
11| 109 修正液

セルA3をコード入力欄、セルB3を商品名表示欄に。
また、セルB4を予備の計算欄に使います。
セルB3に =IF(ISNA(B4),"該当する商品が見つかりません",B4)
セルB4 =VLOOKUP(A3,$A$6:$B$11,2,FALSE)
の式を入力します。
    • good
    • 0
この回答へのお礼

ありがとうございます。
もうFAXの紙ベースで「B」と「8」の
判断がつかず両方で商品名を探し出す
無駄な時間がなくなって本当に嬉しいです!!

>>会社で先輩と感動しながら
>>活用しまくってます☆
>>友達にもメールでお知らせしまくりました(笑)

お礼日時:2001/02/28 00:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

QExcelシートのグループ化時に、一つのシートのみに入力したい(勝手に全シートに入力しないでほしい)

以前検索について質問させていただいたのですが、
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2333302

シートをグループ化するのはいいのですが、グループ化した状態で入力を行うと、(入力したくない)他のシートにも入力されてしまいます。具体的には、Sheet"A"のA1に入力すると、Sheet"B"やSheet"C"のA1にまで変更が反映されてしまいます。今になってそのことに気付いて、データがかなり破壊されてしまい、修復する気も起こりません(TT)

関係ないシートをクリックし、グループ化を解除して入力すれば問題ないのでしょうが、データベース的に使っており検索をしょっちゅうかけるので、不便きわまりません。データを複数シートに分けたのがそもそもの間違いだったのでしょうか?

以上を踏まえ、複数シートに分散したExcelデータベースで検索をひんぱんにかけ、グループ化時にもそのシートにだけ入力したいのです。

何かいい解決案はないでしょうか?

Aベストアンサー

皆さんがおっしゃるようにシートを1枚にする手間を1度だけかけたほうが楽だとは思うのですが・・・。
でも、質問者様の言いたいことも分からないでもないです。
いろいろ考えましたが、マクロを使う以外にいい解決案が浮かびません。

検索して修正ならば・・・検索ではなくCtlr+Hで置換を行えば、該当のシートにのみ変更が反映されます。
(全て置換ではなく、次を検索→該当のものが選ばれた状態で置換と行います)

ただ、なんとなく聞いていると検索は検索、入力は入力で別の作業ということなのかな?
それなら検索だけVlookupなどで作ってあげればいいと思いますが・・・。(全てのシートの最上列に作っておけばどこからでも使えるし)

あとはシート数にもよりますが、マウスを使わずに行えば、少しは作業が楽になるかも知れません。
検索をかけるときはCtrl+Fで検索し、フォームはAlt+F4で閉じます。シートの変更は右手でCtrl+PgUpやPgDn・・・と言うようにやるとか。

全部のシートを選ぶのはたとえば
Sub 全シート選択()
Worksheets.Select
End Sub
こんな記述を書くだけです。
いい機会なのでマクロにも手を出して見てはどうですか?

余談ですが、「グループ化時に、シートの書き込みをすると全シートに書かれてしまう」のは仕様です。
書式設定なんかも全て全シートに適用されるので便利だと思いますが・・・。

皆さんがおっしゃるようにシートを1枚にする手間を1度だけかけたほうが楽だとは思うのですが・・・。
でも、質問者様の言いたいことも分からないでもないです。
いろいろ考えましたが、マクロを使う以外にいい解決案が浮かびません。

検索して修正ならば・・・検索ではなくCtlr+Hで置換を行えば、該当のシートにのみ変更が反映されます。
(全て置換ではなく、次を検索→該当のものが選ばれた状態で置換と行います)

ただ、なんとなく聞いていると検索は検索、入力は入力で別の作業ということなのかな...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Qエクセル(2002)で商品A,商品B,商品C・・・・商品Zと入力するには

 資格試験で1回きりの入力になるのですが、タイトルのように商品A,商品B,商品C・・・商品Zと入力するような場合、どのようなやり方が一番効率的でしょうか?

 エクセルにはオートフィルという便利な機能があり、何度も使いまわすような場合はユーザー設定リストに入れてしまえばいいのでしょうが、資格試験なので1回きりとなります。

 どなたかよい方法をご存知の方はご教示いただければ助かります。

Aベストアンサー

Aのキャラクターコードは65です。CHAR(65)でAが表示されます。
="商品"&CHAR(64+(MOD(ROW()-1,26)+1)
とすればROW()の行数に応じたアルファベットに変換されます。
開始行が1行目でない場合はROW()-1の減算する数字を調整してください。

Aが全角の場合は64を9024にするかJIS関数を使ってください。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセルでシート1のセルに入力すると別シートのセルに表示させるには

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と打ち込めば、

SHEET2のA3のセルが対応されますが、

これではそのセルしか対応しません。

SHEET2の1行目に会員番号、住所から打ち込んだものは、

単純にSHEET1の表示させたいセルに[=SHEET2!○○]を打ち込めば、

それが対応されます。

ただSHEET2の2行目は空白ですので、新たに打ち込んで対応させようとしても出来ません。

毎度毎度SHEET1の表示させたセルに[=SHEET2!○○]をしていくのは大変です。

新規にリストを打ち込むたびにSHEET1の会員証に

表示させる方法はどういったものがあげられるのでしょうか?

或いは、SHEET1の会員証ベースに打ち込んでいくとSHEET2のリストに

自動的に登録される仕組みの方がやりやすいのでしょうか?

数式も教えていただければ大変有難いです。

アクセスの方がやりやすいかもしれませんが、

依頼した方のPCにはアクセスは入っていないですし、

私自身もアクセスはイマイチの部分があります。

エクセルのマクロなるものを使えません。

年始早々に使用したいとの事ですので、
なんとか仕上げてあげたいとは思います。
宜しくお願い致します。

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と...続きを読む

Aベストアンサー

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で00002と入力してその表示になっているので有ればそれは文字列として設定されていると思います、文字列の場合はSheet1の会員番号の呼び出しのMAX関数が働きません。


>OFFSETは基準の端から端までを考えなくても良いという事で、会員番号の最大値と最終行は等しいから、C2でも良いし、D2でも良いのでしょうか?
>OFFSETの行数設定で(A:A)ではおかしい事になるのでしょうか?

OFFSETで求めているのはVLOOKUP関数の検索範囲の右下のセル番地です
http://officetanaka.net/excel/function/function/offset.htm
OFFSETの図解説明のサイトです。

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で000...続きを読む

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセルで、別シートの同一名称入力のセル同士を連結させて、計算結果を表示したい

自治会の会計を任される事になり、入力表と集計表を別のシートで作っています。

シート①(集計表)           シート②(入力表)
   A   B   C・・・F        A    B    C・・・F    G
1 雑費         ¥○○○○    1 4月1日  雑費          ¥100
2 人件費               2 4月3日  会議費         ¥390
3 会議費               3 4月6日  雑費          ¥240
・                   4 4月10日 人件費         ¥10000
・                   ・
・                   ・

シート②のB列の項目ごとに、G列の金額を集計して、シート①のF列に載せていきたいのですが、、
色々調べてやってみるもできませんでした。

どなたか教えていただきますよう宜しくお願いします!

Aベストアンサー

つまりシート2が出納簿、シート1が決算集計という事ですよね。
私も同じく自治区の会計で同じような事をしています。
   
やり方は二つ。
年度末まで出納簿を入力(決算は年度末ですからそれまで集計は不要)し、年度末にピボットテーブルで集計すればOKです。
もう一つはリアルタイムでシート1に反映されます。
少し面倒なので同じシートで数式を書きます。
以下のページを参考に配列数式でやってみて下さい。私はこれでやっています。
http://pc.nikkeibp.co.jp/pc21/special/hr/
http://pc.nikkeibp.co.jp/pc21/special/hr/hr1.shtml

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Q【VBA】シート1の入力表をシート2に並び替えて表示させたい【VBA】

はじめて質問させて頂きます。
駄文で伝わりづらいかと思いますが、大変困っておりますので、ご教授下さい。宜しくお願いします。

【シート1】

      商品コード
店舗コード 001  002 003
0000A  ¥1   ¥2  ¥3
0000B  ¥4   ¥5  ¥6
0000C  ¥7   ¥8  ¥9

【シート2】

店舗コード 商品コード 金額
0000A  001   ¥1
0000A  002   ¥2
0000A  003   ¥3
0000B  001   ¥4
0000B  002   ¥5
0000B  003   ¥6
0000C  001   ¥7
0000C  002   ¥8
0000C  003   ¥9

★実現したいこと
VBAを用いて、シート1にて入力した内容を、シート2のように並べ替えて表示したい。

★条件
店舗コード→可変(A列で上から拾いNULLまでループ)
商品コード→固定(上記例だと001~003の3つ)
金額→可変

以上です。当方VBA初心者ですが宜しくお願いします。

はじめて質問させて頂きます。
駄文で伝わりづらいかと思いますが、大変困っておりますので、ご教授下さい。宜しくお願いします。

【シート1】

      商品コード
店舗コード 001  002 003
0000A  ¥1   ¥2  ¥3
0000B  ¥4   ¥5  ¥6
0000C  ¥7   ¥8  ¥9

【シート2】

店舗コード 商品コード 金額
0000A  001   ¥1
0000A  002   ¥2
0000A  003   ¥3
0000B  ...続きを読む

Aベストアンサー

それほど詳しくはないですが、こんなかんじでしょうか

Option Explicit

Sub sample()
Dim y As Integer
Dim i As Integer
Dim x As Integer
i = 2
y = 3
Do Until Sheets(1).Cells(y, 1).Value = ""
For x = 2 To 4
Sheets(2).Cells(i, 1).Value = Sheets(1).Cells(y, 1).Value
Sheets(2).Cells(i, 2).Value = Sheets(1).Cells(2, x).Value
Sheets(2).Cells(i, 3).Value = Sheets(1).Cells(y, x).Value
i = i + 1
Next
y = y + 1
Loop

End Sub

それほど詳しくはないですが、こんなかんじでしょうか

Option Explicit

Sub sample()
Dim y As Integer
Dim i As Integer
Dim x As Integer
i = 2
y = 3
Do Until Sheets(1).Cells(y, 1).Value = ""
For x = 2 To 4
Sheets(2).Cells(i, 1).Value = Sheets(1).Cells(y, 1).Value
Sheets(2).Cells(i, 2).Value = Sheets(1).Cells(2, x).Value
Sheets(2).Cells(i, 3).Value = Sheets(1).Cells(y, x).Value
i = i ...続きを読む


人気Q&Aランキング

おすすめ情報