Monday, April 14, 2008

VLOOKUP function of Excel - VLOOKUPを使って、IF条件をよりパワフルに!

詳細はこちらにもあるが、以下の文法で、ある範囲に対して、指定データの存在を確認できます。
VLOOKUP(検索データ,検索範囲,取り出し列,検索の型)

  • 検索データ: データの入っているセルを指定する
  • 検索範囲: 検索対象範囲を指定する
  • 取り出し列: 検索対象範囲の何列目かを指定する
  • 検索の型: 指定データがない場合の値(FALSETRUE)
FALSEでは、完全一致するデータだけを取得する
TRUEでは、近似値を含めて検索される

TRUEに設定すると、検索値が見つからない時に検索値未満の最も大きい値が返される

この関数を使うと、あるセルの値が、別のシートにあって、現シートにない、あるいはその逆のチェックもできるようになる。
ここで、Excelの初心者である筆者のための「裏ワザ」だが、以下の指定方法があります。

検索範囲は別のシートにある場合
、「シート名!範囲」で指定するんだ!
繰り返し実行したい場合、「sheet_name!$Col1$1234:$Col2$5678」のように指定し、"$"マークでレコードを固定するんだ!それで、書式だけをコピーすれば、広範囲にわたって、同じ処理を施せます。

この二つのワザを知らないと、さんざん悩んでしまうことになります。

さらに!。。。

悩みが続くんだが。。。指定データがみつかららない場合、VLOOKUPが「#N/A」を返してしまい、その処理に困ってしまいます。
ここで、また秘密兵器の出番だ!
エラー表示かどうかを判定する「ISERROR」関数を使うんだ!
その完成編は以下の通りです。

IF(ISERROR(VLOOKUP(A2,Other_Sheet!$A$2:$A$250, 1, FALSE), 0,
VLOOKUP(A2,Other_Sheet!$A$2:$A$250, 1, FALSE))

完璧!



どうして、どのサイトも、このサイトも、こういう関数について一遍に教えてくれないんだ!
っと、愚痴ってしまう本人は、ただ不勉強を他人のせいにしているのかなあ?

No comments:

Search the Web