こんばんは。
超初心者です。教えてください。
VLOOKUP関数で、検索結果がみつかったらその値を表示する式で
=IF(ISERROR(VLOOKUP(A1,表,列,処理方法)),"",VLOOKUP(A1,表,列,処理方法))
という書き方と
=IF(ISNA(VLOOKUP(A1,表,列,処理方法)),"",VLOOKUP(A1,表,列,処理方法))
という書き方をみつけました。
1.どちらがよいのでしょうか?
2.どちらも同じ答えがでるのでしょうか?
3.またISERRORとISNAでは何が違うのでしょうか?
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんばんは。
>=IF(ISERROR(VLOOKUP(A1,表,列,処理方法)),"",VLOOKUP(A1,表,列,処理方法))
こちらがオーソドックスだと思います。
理由は、VLOOKUPの吐き出すエラーの種類は、VLOOKUPは、#VALUE!, #REF!, #N/A!, #NAME! があります。(他にも出るかもしれません)
#N/A! というのは、
VLOOKUP(検索値,範囲,列番号,検索の型)
この中の「検索値」が見つからなかったことに対して、エラーを出さないようにするためのものです。ISERRORでも基本的には同じことです。ワークシートの数式入力というは、心理的に短いほうを選ぶという習慣がありますが、こういうときは、ISERRORという何でもエラー対応のほうが安心できます。しかし、ISNA でも間違いではありません。
ありがとうございました。
実はISERRORで作成していたのですが、
いろいろインターネットをみていたらISNAで
作られているものが多く、「間違った」と不安に
なっていたのでした。
ありがとうございます。
No.2
- 回答日時:
ISNA関数はテスト対象セルの値が#N/Aのエラーの時TRUEを返す.
ISERROR関数はテスト対象セルの値がエラーの時TRUEを返す。
ISERRはエラーが#N/Aのエラー以外の時TRUEを返す.
ーー
VLOOKUP関数は関数を入力する段階のエラーを除き、検索値が、表に
見つからないというエラーがほとんど(注)で、その場合#N/Aが出るから
質問のケースはどちらでも良いということだと思う。
ISERR関数を使うと不適当ということはいえるが。
ISNAはせいかくに捉えていつとも言えるが、それ以外のエラーの予防線を張っておくことも用途も言えるし、他の関数も含めて一律で
やるというのもありと思う。
(注)(1)前もってVLOOKUPを入れておくが、第1引数が未入力でエラー
(2)第1引数が入力されたが、検索表に見当たらないのでエラー
の2種ある。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
数式は残し値をクリアするマク...
-
【Access】Excelインポート時に...
-
VBAでfunctionを利用しようとし...
-
504-Gateway Timeoutについて
-
python初心者です。
-
Python openpyxlを使用したセル...
-
フランスの生年月日(jj/mm/aaaa)
-
VBのsstab(MicroSoft Tabbed D...
-
ACCESSで値を代入できないとは?
-
String""から型'Double'への変...
-
エクセルVBAで今まで使えていた...
-
筆王画面が終了できない
-
お助けください!VBAのファイル...
-
コンボボックスの特定項目だけ...
-
【VBA】if Like Or Andの組み合...
-
VBスクリプトでIEの404 not fou...
-
VB 実行時エラー '3001'
-
日付書式のString型からData型...
-
VBAで時間(00:00形式)を積算...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
On ErrorでエラーNoが0
-
「実行時エラー '3167' レコー...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
実行時エラー 438 の解決策をお...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
Filter関数を用いた結果、何も...
-
ApplicationとWorksheetFunctio...
-
エクセルVBAで埋め込みグラフ(C...
-
VBでSQL文のUPDATE構文を使った...
おすすめ情報