電子書籍の厳選無料作品が豊富!

会社で顧客リストを作成することになり
その顧客リストのコードNo.を入力すると
その個々の情報が別のフォームに表示できるように、
HLOOKUP関数を使いデータベースを作りました。
(顧客名・住所・TEL・FAX・担当者・ etc...)

しかし、ある顧客のコードを入れると
通常に表示されるところもあるのですが、
中にはコードとは違う客の情報が出てきてしまったり、
またすべて「#N/A」表示になってしまうコードもあったりで、
原因がわからず困っています。

全ておかしな表示になってしまうのなら式がいけないのかなと
思うのですが。。。

これを解消する方法があったら教えていただけないでしょうか。
よろしくお願いします。

A 回答 (1件)

多分、関数の検索の型がTRUEになっている為と想定し以下の通り、アドバイスします。



>コードとは違う客の情報が出てきてしまった
検索表の検索項目キー列にない場合、コードNOに最も大きい番号を選択します。
>またすべて「#N/A」表示になってしまう
検索表のキー項目は昇順になっていないと為、最左端のコードNOより小さいコードNOを入力した。(関数は昇順が期待値)

案として、検索の型をFALSEにし、検索できない場合、N/Aエラーとなるので、ISNA関数でHLOOKUP関数を検証し、エラーの場合、セルに表示しないでどうでしょうか。
(例) =IF(COUNTIF(範囲,検索セル)<>0,HLOOKUP(検索セル,範囲,行,FALSE),"")
    • good
    • 0
この回答へのお礼

確かにHLOOKUP関数はTRUEになっており、
表もコードNO.の昇順ではなく、顧客名の昇順で作成してあったため、
このエラーが生じていたようです。
アドバイス通り、コード昇順に並べ替えし、型もFALSEにしたところ、
一発で問題が解消されました!

今回アドバイスをいただいたことで、
H(V)LOOKUP関数に検索の型を入れることと、
昇順になっていないと検索できないということがわかり、
本当にすっきりしました&勉強になりました。
(2ヶ月ほどどうしようかと悩んでいたので^^;)
ありがとうございました。

お礼日時:2005/10/20 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!