Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7005 / 13644 ツリー ←次へ | 前へ→

【41753】VLOOKUP関数で、[#N/A]を非表示したい katchin 06/8/22(火) 1:18 質問[未読]
【41754】Re:VLOOKUP関数で、[#N/A]を非表示したい Kein 06/8/22(火) 1:41 回答[未読]
【41824】Re:VLOOKUP関数で、[#N/A]を非表示したい katchin 06/8/23(水) 19:12 お礼[未読]
【41768】Re:VLOOKUP関数で、[#N/A]を非表示したい inoue 06/8/22(火) 13:20 発言[未読]
【41822】Re:VLOOKUP関数で、[#N/A]を非表示したい katchin 06/8/23(水) 19:11 お礼[未読]

【41753】VLOOKUP関数で、[#N/A]を非表示したい
質問  katchin  - 06/8/22(火) 1:18 -

引用なし
パスワード
   関数辞典によれば、VLOOKUP関数の第4引数をFalseにした場合に第一引数の検索値が範囲内に見つからない場合、[#N/A]とエラー表示されるとあり、実際VLOOKUP関数だけを使うと[#N/A] 表示されます。ここで他の関数を併用又はVBAも組み合わせる等で、(検索値が範囲内にない場合には)何も表示させない([#N/A] を表示させない)ようにすることは可能でしょうか?
どなたかアドバイスくださいませ。

【41754】Re:VLOOKUP関数で、[#N/A]を非表示したい
回答  Kein  - 06/8/22(火) 1:41 -

引用なし
パスワード
   仮に、検索するテーブルがA1:B10で、検索値を"Data10"としたときのB列の値を
表示する数式なら

=IF(ISNA(VLOOKUP("Data10",A1:B10,2,FALSE)),"",VLOOKUP("Data10",A1:B10,2,FALSE))

1 A1に"Data1"と入力し、A10まで連続値のフィルコピーをする。
2 B1:B10に任意の値を入れる。
という手順でテストデータを入れれば、VLOOKUPの検索値を "Data10" → "Data11"
に変更するだけで結果を確認できます。
なお、エラー値を検出する関数は他にも ISERR とか ISERROR などがあります。
また、エラー値の種類を特定して条件分岐したい場合などは、ERROR.TYPE関数を
使います。ヘルプで調べてみて下さい。

【41768】Re:VLOOKUP関数で、[#N/A]を非表示したい
発言  inoue E-MAILWEB  - 06/8/22(火) 13:20 -

引用なし
パスワード
   >(検索値が範囲内にない場合には)何も表示させない
>([#N/A] を表示させない)ようにすることは可能でしょうか?
VBAでなくても、現行の式を何もいじらずに条件付き書式を使って
#N/A時に白文字にすることでエラーを見えなくする方法もあります。

[式のエラーは見えないようにする]
http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_030_02.html

【41822】Re:VLOOKUP関数で、[#N/A]を非表示したい
お礼  katchin  - 06/8/23(水) 19:11 -

引用なし
パスワード
   ▼inoue さん:
>>(検索値が範囲内にない場合には)何も表示させない
>>([#N/A] を表示させない)ようにすることは可能でしょうか?
>VBAでなくても、現行の式を何もいじらずに条件付き書式を使って
>#N/A時に白文字にすることでエラーを見えなくする方法もあります。
>
>[式のエラーは見えないようにする]
>http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_030_02.html
inoueさんいつもありがとうございます。
なるほど白文字にすることで、見えなくする手はわかりやすいですね。
ありがとうございました。

【41824】Re:VLOOKUP関数で、[#N/A]を非表示したい
お礼  katchin  - 06/8/23(水) 19:12 -

引用なし
パスワード
   ▼Kein さん:
ISNA関数は思いつきませんでした。ありがとうございました。
>仮に、検索するテーブルがA1:B10で、検索値を"Data10"としたときのB列の値を
>表示する数式なら
>
>=IF(ISNA(VLOOKUP("Data10",A1:B10,2,FALSE)),"",VLOOKUP("Data10",A1:B10,2,FALSE))
>
>1 A1に"Data1"と入力し、A10まで連続値のフィルコピーをする。
>2 B1:B10に任意の値を入れる。
>という手順でテストデータを入れれば、VLOOKUPの検索値を "Data10" → "Data11"
>に変更するだけで結果を確認できます。
>なお、エラー値を検出する関数は他にも ISERR とか ISERROR などがあります。
>また、エラー値の種類を特定して条件分岐したい場合などは、ERROR.TYPE関数を
>使います。ヘルプで調べてみて下さい。

7005 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free