『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)