[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『vlookupで複数のシートから検索』(mina*)
10万件以上ある住所録から対象となるお客さまだけ、タックラベルを作成したいと思っています。 1シートの行の上限が決まっているため、住所録が「2シート」になっているので、 vlookupで「お客さま番号」をキーとして、検索するように関数を作成したのですが、 該当するセルが空白の場合に「0」が表示されてしまいます。
この後に、ワードの差し込み印刷でラベルを作成するため、 オプションの「ゼロ値」のチェックをはずしても意味がないため、 他に表示を、空白として表示する方法を探しています。
マクロなどの知識がないため、できれば関数で解決したく思っています。 お手数ですが、ご指南のほど、よろしくお願いいたします。
=IF(ISERROR(VLOOKUP($A2,住所録1!$A:$I,2,0))=FALSE,VLOOKUP($A2,住所録1!$A:$I,2,0), IF(ISERROR(VLOOKUP($A2,住所録2!$A:$I,2,0))=FALSE,VLOOKUP($A2,住所録2!$A:$I,2,0),""))
例)E3の建物名が「0」 A B C D E 1 お客さま番号 お名前 郵便番号 住所 建物名_部屋番号 2 123456789 山田 太郎 123-0045 大田区大森1-2-3 大森ビル102 3 987654321 佐藤 次郎 123-0045 大田区大森3-4-5 0 4
Excel2003を使用。
すごくわかりやすい説明ですね!!
・・・と、つぶやきはさておき・・・
戻り値が文字列のものだけの様なので 数式の最後に &"" を付けてみて下さい。
もしも 郵便番号 等、数値で入力されている所があるなら もう少し考えないといけないですが。。。
(HANA)
できました! 数式1つ増やすだけで変わるものなのですね。感動してしまいました! ありがとうございます<(_ _)> (mina*)
ちなみに、ISERROR関数は引数がエラー値だった時にTRUE を返してくれるので =IF(ISERROR(VLOOKUP($A2,住所録1!$A:$I,2,0)),IF(ISERROR(VLOOKUP($A2,住所録2!$A:$I,2,0)),"",VLOOKUP($A2,住所録2!$A:$I,2,0)),VLOOKUP($A2,住所録1!$A:$I,2,0))&"" こんな感じで入れ替えると12文字分短くなります。
また、エラーが出るのは検索値が無かった時だけだと思うので COUNTIF関数で事前調査を行っても良いかもしれません。 =IF(COUNTIF(住所録1!$A:$I,$A2),VLOOKUP($A2,住所録1!$A:$I,2,0),IF(COUNTIF(・・・・ COUNTIF関数の戻り値が「0」だった時に IF関数の 偽の場合 の方に分岐します。
(HANA)
>COUNTIF関数で事前調査を行っても良いかもしれません。 >=IF(COUNTIF(住所録1!$A:$I,$A2),VLOOKUP($A2,住所録1!$A:$I,2,0),IF(COUNTIF(・・・・
COUNTIFの範囲はA列だけでえんとちゃまいすかね?
=IF(COUNTIF(住所録1!$A:$A,$A2),VLOOKUP(……
(訂正) ちゃまいすかね → ちゃいますかね
(よみびとしらず)
>COUNTIFの範囲はA列だけでえんとちゃまいすかね? わぁぁっ、すみません。 A列だけで良いです。
ありがとうございます。
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.