• ベストアンサー

EXCELでデータを自動的に返す

A列に会社名、B列に会社コードが記載された、簡易データベースとしてのEXCELシートがあります。 別のワークシートで、A列に会社名、B列に金額を記入していく伝票があります。 このシートのC列に、会社コードが自動で入るようにしたいのですが、どのような関数を使えばよいでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

vlookup関数で以下の方法は如何でしょうか。 (例)別シートのC列に設定する関数  =IF(A1<>"",VLOOKUP(A1,sheet1!A:B,2),"")

その他の回答 (4)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 先の回答のとおり、VLOOKUPを使用すればよいですが、少し補足というか訂正です。 まず、No.1の方の回答では、VLOOKUP関数の第4引数が省略されていますが、今回のような完全一致検索の場合は、「FALSE」を指定すべきです。 (No.2の方の回答のように) =IF(A1<>"",VLOOKUP(A1,sheet1!A:B,2),"") ↓ =IF(A1<>"",VLOOKUP(A1,sheet1!A:B,2,FALSE),"") ちなみに、省略すると「TRUE」を指定したと同じことになります。 次に、No.2の方の回答の中に、 >Sheet1のデーターベースシートを会社名でソートしておきます。 とありますが、第4引数に「FALSE」を指定する場合は、ソートは不要です。 あと、No.3の方の回答では、この第4引数に「0」を指定していますが、VLOOKUPでは、 0=FALSE と判断してくれるので、問題はないですが、本来の意味としては、「FALSE」がよりベターかと思います。 (「0」でも間違いではありません。) 上記、詳細については、VLOOKUPをヘルプで検索してみて下さい。 以上、横から失礼しました。

KKatoh
質問者

補足

皆様ご回答ありがとうございました。 補足欄で皆様にお礼申し上げる非礼をお許しください。 これで作業がはかどります。助かりました。

  • Traja
  • ベストアンサー率19% (107/546)
回答No.4

簡易DBとしてのシートで、会社がソートされているという前提であれば、「vlookup」関数をお使いください。 ・ソートしていないと使えない ・会社名なので、ちょっとした文字の相違(半角全角とかスペースの有無とか)で、一致しないと判断される と言う点から、実用性については疑問符が付きますが

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.3

vlookup関数を使えば簡単です。 「Sheet1」がA列に会社名、B列に会社コードが記載された簡易データベースのシートならば… [C1]=VLOOKUP(A1,Sheet1!$A:$B,2,0) このような式になります。 1行目が項目になっているのでしたら[C2]に入力して下さい。その際、式中の「A1」を「A2」に直すのをお忘れ無く。

回答No.2

Sheet1のデーターベースシートを会社名でソートしておきます。(この範囲がA2からB23としておきます) Sheet2のC2に、 =VLOOKUP(A2,Sheet1!$A$2:$B$23,2,FALSE) と入れると、C列に会社コードが出てきます。 あとはこれを下にコピー。 範囲は、自分のデーターベースに合わせてください。 一行目は項目名だと思いますので、2行目から検索しました。

専門家に質問してみよう