- ベストアンサー
エクセルの、簡単入力方法
仕事で毎日、エクセルの表が送られてきます。 A列に、会社コードがずら~っと書かれています。(毎回違うコードが50くらい) 私の仕事は、そのA列の会社コードから、会社名を別紙で調べて、B列に入力するのですが、 会社コードから、会社名を調べるのに時間がかかるので、 簡単に、B列に会社名を入力出来ないでしょうか。 会社名は、100~200社あります。 どうぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! すでにお二方が回答されていらっしゃるようにVLOOKUP関数で対応するのが最適だと思います。 >L2に会社コードを入力するだけで、L2が会社名に変わりませんか? とありますが、入力したセルに検索結果を表示させたい場合はマクロで可能です。 ただ・・・ この場合入力間違いがあっても全く判りません。 どうしてもそのようにしたいのであればマクロの一例です。 ※ Sheet2のA列に「会社コード」・B列に「会社名」の表があるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてL列に「会社コード」を入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim str As String Dim ws As Worksheet Set ws = Worksheets("Sheet2") '←「Sheet2」は実際のSheet名に! If Intersect(Target, Range("L:L")) Is Nothing Or Selection.Count <> 1 Then Exit Sub Application.EnableEvents = False If WorksheetFunction.CountIf(ws.Columns(1), Target) Then str = WorksheetFunction.VLookup(Target, ws.Range("A:B"), 2, False) Target = str Else MsgBox "該当データなし" Target = "" Target.Select End If Application.EnableEvents = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
>A2には最初から、会社コード名が入っています。L2に会社名を入力したいのです。L2にA2のコードを入力すると、隣のM2に会社名が出てしまいます。できたら、L2に会社コードを入力するだけで、L2が会社名に変わりませんか? ん?、何を言って居るのじゃ?? L2に会社コードを入力する、そんな余計なことするんじゃな~い! 「B2」でなく、「L2」にその式をぶっこむだけじゃわい!! =VLOOKUP($A2,[辞書.xls]会社名!$A$2:$B$10000,2,FALSE)
お礼
いろいろとお世話をおかけしました。無事に出来ました。ありがとうございました。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
先ず、別のBOOKに「会社名辞書」を作る。 BOOK名:辞書 シート名:会社名 A列:コード B列:会社名 データは2行目以降を使う。 こちらは辞書を参照する側のシート。 A列に入力されたコードを使って、「会社名辞書」の会社名を検索し、B列(どこでも構わないが)の会社名のところに自動的に入る! A列:コード B列:会社名 同じくデータは2行目以降を使う。 B2に、 =VLOOKUP($A2,[辞書.xls]会社名!$A$2:$B$10000,2,FALSE) 以下コピー 「VLOOKUP」関数の意味はHELPで確認して欲しい。会社名以外にも引っ張って来られるものがあるかもしれない。毎日こんなのを目と手でやってたら目も肩も凝るねぇ。今度はEXCEL病という生活習慣病にならないようご注意あれ!! ここに株式会社上場銘柄一覧があるので参考に。 会社コードにはよくこの銘柄コードが使われる。 このコードを利用すれば、この表も利用できるかもしれない。ただしそちらの取引先が入っている保証はないし、名称も略称なのかもしれない。会社名はC列に入っているようなので何らかの加工は必要でしょう。 http://k-db.com/site/download.aspx?date=2012-07-09&p=stock&q=a
補足
早々のご回答ありがとうございます!私の質問の仕方が悪かったみたいです。 実は・・・具体的に言いますと。 A2には最初から、会社コード名が入っています。L2に会社名を入力したいのです。L2にA2のコードを入力すると、隣のM2に会社名が出てしまいます。 できたら、L2に会社コードを入力するだけで、L2が会社名に変わりませんか? 式を教えて頂ければ助かります。忙しいと思いますが、どうぞよろしくお願いします。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばシート1のA列に会社コードが有るとして、シート2にはA列に会社コード、B列に会社名が入力されたデータが有るとします。シート2についてのデータが別のファイルにあるとしたらその別のファイルのデータをコピーしてシート2に貼り付けをすればよいでしょう。 その後にシート1のB1セルには次の式を入力して下方にドラッグコピーすればよいでしょう。 =IF(COUNTIF(Sheet2!A:A,A1)=0,"",VLOOKUP(A1,Sheet2!A:B,2,FALSE))
お礼
早々にご回答を頂き、大変助かりました。その後、色々とやってみて、無事にできました。ありがとうございました!
補足
早々のご回答ありがとうございます!早速やってみたところできました。感激です。ところが・・・私の質問の仕方が悪かったのです。 実は・・・具体的に言いますと。 A2には最初から、会社コード名が入っています。L2に会社名を入力したいのです。L2にA2のコードを入力すると、隣のM2に会社名が出てしまいます。 できたら、L2に会社コードを入力するだけで、L2が会社名に変わりませんか? 式を教えて頂ければ助かります。忙しいと思いますが、どうぞよろしくお願いします。
お礼
ご回答ありがとうございます。丁寧な説明でしたので、無事できました。これで明日からの仕事が楽になります。ありがとうございました。!