• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VLOOKUPについてわかりません)

シートAとシートBのコードを比較する方法について

このQ&Aのポイント
  • VLOOKUP関数を使用して、シートBからシートAと同じコードを抽出する方法を説明します。
  • シートAとシートBにはそれぞれコードが記載されており、VLOOKUPを使ってコードの一致する値を見つけます。
  • シートBのコードからVLOOKUP関数を使ってシートAのコードと一致する値をピックアップすることができます。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>大雑把な質問で申し訳ありませんが、何かいいやり方はありませんでしょうか? VLOOKUP関数はキーになる列から目的の文字列と合う行を探して合致したセルの右側に連なる列の値のどれかをピックアップします。 勿論、キーそのものを返すこともできますので目的に合った使い方で応用してください。 =VLOOKUP(検査値,範囲,列番号,検索方法) と言う記述になります。 今回の質問ではコードがキーになりますので検査値にコードを指定します。 検索方法はTRUEが簡易検索で近似値を探しますので今回の対象はFALSE(完全一致)を使う必要があるようです。 列番号はキーの列を1として右側の何番目の値を返すか指定します。 範囲はキー列から値を返す列までを含め、行番号は検索目的の範囲とします。 行番号を省略すると全ての行が検索対象になります。 例 シートA!C2=VLOOKUP(B2,シートB!B:D,1,FALSE) シートAのB2にあるコードと同じ値がシートBのB列に見つかるとその値をシートAのC2に返します。 見つからないときはエラー値が返りますので、エラーの時に特定の表示をしたいときはIFERROR関数で対応すると良いでしょう。 =IFERROR(VLOOKUP(B2,シートB!B:D,1,FALSE),"該当なし")

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

目的によって合理的な操作が異なりますが、シートBにあるシートAと重複するコード番号だけを抽出したいなら、関数を使用するよりもフィルタオプションの設定を利用するのが簡単です。 シートBを選択し、「データ」「詳細設定」で「フィルタオプションの設定」ダイアログを出して、リスト範囲に、項目名を含めてコード番号の列を指定し(セル範囲を選択し)、検索条件範囲に同様にシートAのコード番号の列を指定して「OK」してください。 #上記の回答はExcel2007以降の操作例ですが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です。 >やってみましたが、いまいちうまくできませんでした^^; どのようにうまくいかなかったのでしょうか? 前回の方法もNo.2さんの方法もほぼ同じやり方はほぼ同じですので、こちらも試されましたかね? 単にデータがあるか?ないか?だけであればNo.2さんの方がデータ量が少ないSheetに数式が入っていますので PCへの負担は少なくて済むと思います。 >もしこれをVLOOKUP関数で行うとすれば、どのように行えばいいのでしょうか? 無理やりVLOOKUP関数を使って難しい方法をお望みのようですが、 質問に >何かいいやり方はありませんでしょうか? とありましたので、別の関数を使う方法を提案しただけです。 VLOOKUP関数を使用する方法はNo.3さんが的確な回答をされていらっしゃいますので そちらを参考にさせてもらってください。m(_ _)m

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ヤリタイ事: >今回VKOOKUPでしたいことは、シートBからシートAと同じコードをピックアップしたい 添付図 シート1に一意のコードが並んでいる。 シート2にもコードが並んでいる。 シート1の各コードについて、これはシート2に有る、これはシート2には無いと「判ればよい」。 B1: =IF(COUNTIF(Sheet2!A:A,A1),"○","") 以下コピーして完成。 あなたがホントにヤリタイ事に応じて、適宜応用してください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! VLOOKUP関数にこだわっていらっしゃるようですが・・・ COUNTIF関数で対応できそうな感じがします。 表のレイアウトが判らないので両SheetともA列の2行目以降にデータがあるとします。 シートBのB2セル(B列を使っているのであれば使っていない列)に =IF(COUNTIF(シートA!A:A,A2),1,"") という数式を入れフィルハンドルでダブルクリック! これでシートAのA列にあれば「1」が表示されますので、オートフィルタ → 「1」でフィルタを掛けます → 表示されている列を範囲指定 → コピー → 別Sheet(仮にSheet3)のA1セルに貼り付け! これでシートAに存在するシートBのデータだけが貼りつくと思います。m(_ _)m

ryu-bi
質問者

補足

回答ありがとうございます やってみましたが、いまいちうまくできませんでした^^; もしこれをVLOOKUP関数で行うとすれば、どのように行えばいいのでしょうか?

関連するQ&A

専門家に質問してみよう