• ベストアンサー

ISNA関数で空欄と「0」が表示される

VLOOKup関数で#N/Aを表示させないために、ISNA関数を使用しているのですが、セルによって関数の結果が空欄のところと「0」を表示されるところが出来てしまいます。組み合わせている関数はセルの番号が違うぐらいでどうして表示される結果が違うのかわかりません。 どなたかわかる方ご教授願います。 組み合わせている関数は =IF(ISNA(VLOOKUP(G22,sheet2!$I$5:$J$122,2,0)=""),"",VLOOKUP(G22,sheet2!$I$5:$J$122,2,0)) です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dan50
  • ベストアンサー率100% (1/1)
回答No.2

参照先のセルの表示形式が、標準・数値・日付・文字列の場合だったら =IF(VLOOKUP(G22,sheet2!$I$5:$J$122,2,FALSE)="","",VLOOKUP(G22,sheet2!$I$5:$J$122,2,FALSE)) と記述すれば 参照先のSheet2の値がブランクの場合、参照結果もブランクとなりますよ。 又、参照先参照先のSheet2の値が「文字列」に限定される場合は、=CONCATENATE(VLOOKUP(G22,sheet2!$I$5:$J$122,2,FALSE)) とすれば解決すると思いますよ。 質問内容の参照使用とする内容が具体的に判らないので、一般的な回答となってしまいました。

その他の回答 (3)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.4

単純に、0 が嫌ですべて値が無い時は空白にしたいなら 数式のあるセルの書式設定を 0;0; とユーザー定義してしまえば 0 は表示されなくなります。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

参照元の内容がブランクだと0が表示されます。 これはエクセルの仕様なのでどうにもなりません。 表示するデータが数値以外に限定できるなら =IF(ISNA(VLOOKUP(G22,sheet2!$I$5:$J$122,2,0)=""),"",VLOOKUP(G22,sheet2!$I$5:$J$122,2,0))&"" とすればブランク表示になります。 上記以外の場合は、元の表にスペースでも構わないので何らかのデータをセットしてください。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

検査の形が0としてるって事は、検索値が範囲に無ければ#N/Aが 返ってきますよね。 でも、検索値はあるけどその隣のデーターが空白であれば 0が返ってきます。 つまり。    A   B   C 1  山田  女 2  田中  男 3  鈴木  と言う範囲を検索した場合、検索範囲に無い名前「伊藤」を検索すると #N/Aが返ってきて、鈴木を検索すると0(空白)が返ってきます。 かな? 元データーがわからないので想像です。^^;

関連するQ&A

  • VLOOKUP関数の#N/A表示を空欄にしたい

    VLOOKUPで2つの表から検索し反映させていますが表に無かった場合に#N/A表示になるので これを空欄にしたいです。教えて下さい。 たとえばC1のセルに田中と入力すると自動的に太郎と表示され井上と入力すれば一郎と出ますが 斉藤と入力した場合に#N/Aと表示されるので空欄にしたいです。ちなみにC1に何も入力されていない場合は空欄がいいです。   O3:田中 P3:太郎   S3:井上 T3:一郎 =IF(ISNA(VLOOKUP(C1,$O$3:$P$10,2,FALSE)),VLOOKUP(C1,$S$3:$T$10,2,FALSE),VLOOKUP(C1,$O$3:$P$10,2,FALSE)) と現在関数を入れています。 色々試しましたがわからないので教えてほしいです。

  • エクセル、VLOOKUP関数について

    (1)セルAの値を他シートから検索 (2)セルAが空欄なら空欄を返す (3)セルAが空欄でなければ、その検索したセルの値を返す (4)検索したセルが空欄であればBを返す =IF(ISNA(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)),"",IF(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)="","B",VLOOKUP(A1,前年度成績!$B$4:$G$501,2,0))) という風にしたくて、上記の式を書きましたが、(4)の検索したセルが空欄であってもBが表示されません。 どこを直せば良いか、教えてください。

  • エクセル2003 関数 IFとVlookupの組み合わせについて

    エクセル2003 関数 IFとVlookupの組み合わせについて IF関数とvlookuo関数を組み合わせて関数を組もうとしています。 vlookupしたい元データが18万あるのでシートを(1)~(3)に分けています。 やりたいことは、 シート「(1)1~60,000」     A列:ID B列:社名 シート「(2)60,001~120,000」 A列:ID B列:社名 シート「(3)120,001~180,000」 A列:ID B列:社名 シート「集計」 このシートに関数の結果を表示したいです シート「集計」のH9のセルにIDを入れたらI9のセルに社名が自動表示される。且つH9のセルが空欄ならI9のセルも空欄になる。※入るIDはシート(1)~(3)のどこかにあります 関数教えて下さい。よろしくお願いします。

  • VLOOKUPとIFの組み合わせで困ってます

    シートが2枚あり、sheet1は工事記録一覧、sheet2は納品書です。 sheet2のセルA1に、工事記録の管理番号を入力し、 セルA2以降に、管理番号に該当する住所や建物名、 工事種類などを表示させたいと思ってます。 参考にするセルが空欄の場合には、空欄のままにしたいので、 IF関数とVLOOKUP関数を組み合わせて 下のように自分で式を組んでみましたが、#N/Aになってしまいます。 =IF(A1="","",VLOOKUP(A1,sheet1!A1:J20,3,FALSE) 同一シート内で同様の式を入れた時は、希望通りの答えが返ってきましたが、 別のシートだと上手くいきません。 どなたか正しい式をご教授いただけますでしょうか。 エクセル初心者で、ネットや本で調べながら作成しているので、 分かりやすく教えていただければ助かります。 どうぞよろしくお願いいたします!

  • Excel エラー表示を回避するようにしたのに・・・

    Excelで、VLOOKUP関数を使って、 「今日の日付の横のセルの中身を表示」させているのですが、 該当データがなかった時のエラー表示や0表示を回避したくて =IF(ISNA(VLOOKUP(TODAY(),元シート!A1:B10,2,0))="","", VLOOKUP(TODAY(),元シート!A1:B10,2,0)) としたのですが、これでもまだエラーや0が表示されます。 多分、日付そのものがない時に#N/A、 日付はあるが横に何も入っていない場合に0が 出ているように思うのですが、・・・ 何かいけないのでしょうか。自分では間違いが見つけられません。

  • アクセスの関数

    アクセスでこのような関数を使っています。 =IF(ISNA(VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)),"! NO DATA !",VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)) 一応機能するのですが、$B$330の中で空欄があると『0(ゼロ)』と表示されてしまいます。ここに何も表示されないようにするにはどうしたらいいですか? "!NO DATA!"の所を『""』にすればよいかと思いやってみましたが、やはり0(ゼロ)が表示されます。 ふー、困りました。

  • 空欄を表す関数

    エクセルです。 A列にいろいろな文字や数字が入っているとして、A1のセルが空欄なら、B1のセルに0を、そうでなければ1を返すようにしたいので、B1に=IF(A1=" ",0,1)という関数をいれてみました。すると、A1が空欄にもかかわらず、1と出てしまいます。 この関数が間違っているのでしょうが、自分ではわかりません。どこをどう直せばいいのか教えていただけますか。

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • IF関数:複数条件、ISNA、VLOOK

    関数初心者です。 =IF(ISNA(VLOOKUP(検索値,範囲,列番号,FALSE)),"",VLOOKUP(検索値,範囲,列番号,FALSE)) あるセル(例:A1セル)が1以上で上記の答えを出す。という関数を作りたいのですが、うまくいきません。 どなたかわかる方がいらっしゃったら、回答お願いします。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

専門家に質問してみよう