Excel(エクセル)の操作が楽になる方法と便利な使い方を紹介しています。


menu

Excel(エクセル)が楽で便利になる方法

Excelで別の一覧に「同じ値の行」があるか確認したい!VLOOKUP関数

[ この記事の内容は Excel2013 でも使えます ]
 
2つの一覧があって、片方の値がもう片方にもあるか?を確認したい時がありますよね。
 
 
例えば、「ゲーム機の一覧A」と「持ってるゲーム機の一覧B」がある場合、AにBが含まれているかを知りたい場合です。
 
「=(イコール)」では、全ての行を比較するのが大変ですし、「検索(CTRL+F)」で一つ一つ探すのはもっと大変。
 
 
そんな時、「VLOOKUP関数」が便利です。 
 
本来は、一覧のデータを使って自動入力してくれる便利関数なんですが、こんな使い方もできますよ。
 


スポンサーリンク

まずは確認してみる!

一覧が2つあります。
 
 
左の「ゲーム機の一覧」に、右の「持ってるゲーム機」と同じ値があるか?を確認してみましょう。
 
  1. まず、E3セルに =VLOOKUP(C3,$A$3:$A$15,1,FALSE) と入力します。

    いきなり難しそうな感じですが、気にせず入力してみます。
    あとで説明しますので。
     
  2. すると、「ゲーム機の一覧($A$3:$A$15)」に「C3セルの値」がある場合、C3セルと同じ値が表示されます。

    一覧に値があるので、「PlayStation Vita」と表示されてますね。
     
  3. 次に、一つ下のセルに =VLOOKUP(C4,$A$3:$A$15,1,FALSE) と入力します。C3がC4に変わっただけですよ。

    この時、E3セルをコピーして、E4セルに張り付けると楽です。
    数式内の「C3」が自動的に「C4」になりますよ。
     
  4. 「ゲーム機の一覧」に「C4セルの値」がない場合、「#N/A」が表示されます。

    一覧には、「PlayStation 4」はありますが「PlayStation 4 Pro」はありませんので、「#N/A」と表示されてますね。
     
    「#N/A」は、無い・使えない、という意味です。
     
  5. 残りの行も同じようにコピーする。
完成です!
 
「ゲーム機の一覧」には、「PlayStation 4 Pro」と「Xbox 360」が無いことが分かりましたね。
 

スポンサーリンク

関数では「4つの値」を指定します

説明です。
 
E3セルでは、こんな数式を書きました。
=VLOOKUP(C3,$A$3:$A$15,1,FALSE)
 
カッコの中に「4つの値」があり、それぞれに意味があります。
・1つ目:C3     → 「検索値」を指定する
・2つ目:$A$3:$A$15 → 「範囲」を指定する
・3つ目:1      → 「列番号」を指定する
・4つ目:FALSE    → 「検索方法」を指定する
 
これらを「引数(ひきすう)」と呼びます。
 
一つ一つ見ていきましょう。
 

引数その1「検索値」

「検索する値」を指定します。
 
今回の例では、C3の値「PlayStation Vita」が一覧にあるか?を確認したいので、「C3」を指定しました。
 
 
今回は使いませんが、「セル番号」での指定でなく、「文字(固定値)」でも指定することもできますよ。
=VLOOKUP(“PlayStation Vita”,$A$3:$A$15,1,FALSE)
 
文字を使う場合は、”(ダブルクォーテーション)で囲むのを忘れずに。
 

引数その2「範囲」

「値を検索する範囲」を指定します。
 
今回の例では、C3の値が「ゲーム機の一覧」にあるか?を確認しますので、一覧の範囲「$A$3:$A$15」を指定しました。
一覧では、A3セルからA15セルが範囲ですね。
 
 
ここで、一覧が「A3:A15」ではなく「$A$3:$A$15」になってるのがポイントです!
 
Excelではセル番号に「$」を付けると、「絶対参照」という指定方法になります。
 
絶対参照にすると、セルをコピーした時にセル番号がずれません。
 
 
今回の例のように、「セルをコピーした時、C3はC4になって欲しいが、一覧の範囲は常に $A$3:$A$15 でいて欲しい」という時にとても便利です。
 
ぜひ使って見てくださいね。
 

引数その3「列番号」

引数その2で指定した「値を検索する範囲(一覧)」の列の番号です。
 
左から、1,2,3・・・となります。
 
今回の例では、一覧に列は1つしかありませんので、「1」を指定しました。
 
 
もし、「機種名」列の右隣りに「別の列」があれば、列番号は2,3・・・で指定できますよ。
 

引数その4「検索方法」

「完全一致か近似一致か」を指定します。
 
指定する値は、
・完全一致の場合:0 か FALSE
・近似一致の場合:1 か TRUE 
ですね。
 
今回の例では、まったく同じ文字ならOK!ですので、「完全一致(FALSE)」としておきます。
 
 
これで、4つの引数が指定できました。
 
ややこしそうに見えますが、一つ一つを見ていけば、そこまで難しくは無いと思います。
 
じっくり確認してみてください!
 

まとめ

2つの一覧から、同じ値があるかをチェックするのは非常に大変です。 
 
行数が少なければまだ頑張れますが、100行、1000行となると非常に辛い!
 
そんな時はこの記事の方法で、チェックして見てくださいね。
 

スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

だーしゅ
IT関係のお仕事してます。
Excel大好き。

[当ブログについて]

最近のコメント

  • だーしゅ { KKKさん、コメントありがとうございます。 一度貼り付けてから、「▼マーク(貼り付けのオプション)」で再度貼り付けるんですね。 「図のリンク貼り付け」がうまくいかない場合、試させて頂きます! } – 10月 18, 4:50 AM
  • KKK { 図のリンク貼り付けがうまくいかず(データを貼り付けできませんエラー)何度もやると時々成功するというおかしなトラブルに困っておりました。ところが偶然下記のやり方で解決いたしましたので参考までに書かせていただきます。 コピー→値(V)貼り付け→すると張り付けたセルの横に(貼り付けオプション(Ctrl)のマークが出ますので、個々の右下の▼マークをクリックして今度は図のリンク貼り付けマークをクリックするとできることを発見しました。困っている方はお試しください。 } – 10月 18, 1:02 AM
  • kongaragatta { だーしゅさん、ご返事ありがとうございます。 まずは、だーしゅさん案で自分なりにできるかどうかトライしてみます。 } – 7月 03, 6:35 AM
  • だーしゅ { 言葉が良く無かったですね。 「O列がFOR文の最初の位置になる」のような意味でした。 実現するにはいろんな方法があると思います。ご参考まで。 } – 6月 29, 5:37 PM
  • kongaragatta { だーしゅさん、案をありがとうございます。 なるほど!月数を取得するやり方は考えていませんでした。やはり自分だとスキルに限界があるのでどうも柔軟に考えにくいですね。 ひとつ質問ですが、「O列を起点とし、年月を固定的に設定」の”固定的に設定”とはどのように設定するということでしょうか? } – 6月 29, 8:04 AM
  • だーしゅ { kongaragattaさん、コメントありがとうございます。 いろんな方法があると思いますが、思いついた案を書いておきますね。 ・DATEDIF関数で開始年月日と終了年月日の月数を取得 ・O列を起点とし、年月を固定的に設定 ・FOR文で「月数」の数分、セルを右方向に移動 →開始日と同じ年月の場合、●を表示 →IF文で一つ目と判断した場合、〇を表示 →3ヵ月単位はMOD関数で判定 いろいろお試しくださいね。 } – 6月 28, 4:59 PM