• ベストアンサー

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。 以下の関数式について、お時間がありましたらどうぞご教示ください。 =IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE)) 「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」 純粋になんでこのような構文になるのかが解りません。 1.ISNAってそもそもなんでしょう? 2.同じ式を繰り返すのはなぜ? (模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。) ・参考となる他所のページがあれば教えて下さい。 ・素人です。お手柔らかにお願いします。 (エクセル2003)

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

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

1.ISNAってそもそもなんでしょう? ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数 結果はTRUE(真),FALSE(偽)のいずれかになります。 エラー判定のIS関数には他に ISERR:#N/A!を除くすべてのエラーを判定する関数 ISERROR:すべてのエラーを判定する関数 があります。 2.同じ式を繰り返すのはなぜ? ISNAの判定する値がセルでなく数式の結果だからです。 A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE) なら A3=IF(ISNA(A2),"",A2) ということになります。A2のように計算の為のセルを省略する為に =IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

noujii
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • rin01
  • ベストアンサー率43% (33/76)
回答No.4

こんばんは~♪ 失礼しま~す。 >「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を >返せ。ただし該当なき場合は空白とせよ。」 ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)) の部分を COUNTIF関数を使って =IF(COUNTIF(Sheet2!$A$1:$B$12,$A1),VLOOKUP($A1,Sheet2!$A$1:$B$12,2,FALSE),"") こんな式も、良く見かけますね。 ご参考にどうぞ~。。。 。。。Ms.Rinでした~♪♪

noujii
質問者

お礼

Ms.Rin様ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

ISNA(テスト対象) テストの対象がエラー値 #N/A (使用する値がない) のとき TRUE を返します。 =IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE)) これはVLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE))の値が#N/Aだったら セルに""を入れ、#N/Aでなかったときにはその値を入れろという意味で、 無意味に繰り返しているわけではありませんよ。 わからない関数がでてきたときには、ヘルプで調べてみましょうね。

noujii
質問者

お礼

無意味に繰り返してるワケではないと?(笑) (=^ー^=)ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

1.ISNA関数は#NA!エラーを検出したときにTRUEになります。  VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)  がエラー(=シート2のA列に合致する値がない)なら空白(””)を返し、そうでない(=合致する値がある)時は  VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE) の値そのもの(A列の値が合致する値のB列の値)を返すのです。 2.同じ式を繰り返しているのは最初のVLOOKUP関数は条件、後のVLOOKUP関数は値(戻り値)として使用しているためです。 ISNAはEXCELのヘルプではIS関数の中で説明されています。

noujii
質問者

お礼

大変わかりやすかったです。ありがとうございました。 「TRUE」「FALSE」自体もよく解ってないので、また別の機会に質問させていただきます。

全文を見る
すると、全ての回答が全文表示されます。
noname#58440
noname#58440
回答No.1

  式を訳して考えます。 =IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE)) この式のVLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)をシート2の範囲にA1セルの値と同じ値が有るかを調べる意味で「調査結果」と名付ける、すると元の式は =IF(ISNA(調査結果),"",調査結果) となります。 こうなれば理解は簡単になります。 ISNA(調査)・・・調査結果が#N/Aのエラーか? これで理解できますネ =もし(調査結果が#N/Aのエラーなら,空白,エラーで無いなら調査結果とする)  

noujii
質問者

お礼

目線に合わせていただいた説明に大変嬉しいです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 2つのSheetの数値を検索したい

    エクセルで2つのSheetのデータの個数を検索させたいのですが、 エラー値は空白にしたいので、 =IF(ISNA(VLOOKUP(B2,Sheet2!$A$2:$B$2607,2,FALSE)),"",VLOOKUP(B2,Sheet2!$A$2:$B$2607,2,FALSE)) という式を作ってうまくいったのですが、 この式に新たに同じsheet1の範囲(A2:B300)を追加したいのですが、 うまくいきません。 このB300はB400、B500というように日々増えていきます。 どのような式にすればいいでしょうか。

  • Excel VBA VLOOKUP の書き方

    次の関数をVBAで書くにはどのように記述すればよいでしょうか? =IF(ISNA(VLOOKUP(B2,Sheet2!A2:B9,2,FALSE)),"",VLOOKUP(B2,Sheet2!A2:B9,2FALSE)) よろしくお願いします。

  • エクセル VLOOKUP関数のエラー非表示について

    次のような式がありますが答えが#DIV/0!になり困っています。 =IF($B28="","",($F28*2)/IF(ISNA(VLOOKUP($B28,形態!$B$5:$Z$200,7,FALSE)),"",VLOOKUP($B28,形態!$B$5:$Z$200,7,FALSE))) データ範囲のシートは分かれいます。 データ範囲の形態!B5:Z200の中に空白がある場合#DIV/0!になります。 #DIV/0!を非表示する方法を教えてください。

  • 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でなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • Excel VlookupとIFのネストについて

    シートAでシートBの値をVlookupで引っ張っています。 ここで、値をそのまま返すだけではなく、値がはいっていれば●で返すようにしたいです。また、参照値がの列が空白の場合があり、エラーを表示させないようにもしたいのです。 =if(参照値="","",vlookup) これにどう足せば、完成できるのでしょうか? この形で考えているからいけないのでしょうか? 初歩的な質問ですが、よろしくお願いいたします。 (ネストはとっても苦手です・・・)

  • IFとVLOOKUP

    DのコラムにIDaa001アルファベット2文字と数字3桁 Fのコラムに商品名の入ったシートaa DのコラムにID bb001アルファベット2文字と数字3桁 Fのコラムに商品名の入ったシートbb 上記二つのシートからデータを参照したいシートccが有ります。 シートccに入っているIDによって、参照するシートを変えたいので、IF関数を使ってみましたがうまくいきませんどの様にしたら良いのでしょうか? ちなみに私の書いた式は下記です =IF(A3=aa,VLOOKUP(D3,aa!A2:B99,2,FALSE),VLOOKUP(D3,bb!A2:B213,2,FALSE)) どうしたら良いのか分からなく、IDの頭2個のアルファベットをLEFT関数で抜き出して、Aのコラムに貼り付けて上記の式をつくってみましたがダメでした。 よろしくおねがいします。

  • エクセル、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が表示されません。 どこを直せば良いか、教えてください。

  • VLOOKUPの検索値の集計について

    複数シートのデータをVLOOKUPを使って、sheet1(B2~B50)に検索表示させ、更にその値を縦集計し、sheet1(B1)に表示させたいのですが、検索値が文字列のため集計ができません。 VLOOKUPの式に、文字列を数値に変換するように組み込む方法があれば教えてください。 (元データの表示形式は「標準」になっております。) sheet1(B2~B50)には、現在このような式を入れています↓ =IF(COUNTIF(sheet2!$A$2:$E$50,sheet1A!$2),VLOOKUP(sheet1!$A2,sheet2!$A$2:$E$50,2,FALSE)*1,"")&IF(COUNTIF(sheet3!$A$2:$E$50,sheet1!$A2),VLOOKUP(sheet1!$A2,sheet3!$A$2:$E$10,2,FALSE)*1,"")

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

  • エクセル VLOOKUPについて教えてください

    宜しくお願いします。 エクセルの関数で結果が空白の時『0』と表示させ、次のシートの計算に反映させたいのですが、空白の為計算できないようです。よい方法を教えてください。 セルに入っている式は IF(ISNA(VLOOKUP(A1,○○!$A$1:$F$50,5,0)),"0",(VLOOKUP(A1,○○!$A$1:$F$50,5,0)) この式が一行に3箇所入っており、一つに数字が入ると残りの2つのセルは空白になってしまいます。 一つのセルに数字がはいったら、残りのセルに『0』と表示させたいのです。 どうぞ宜しくお願い致します。

このQ&Aのポイント
  • ノートパソコンで使用しているUSB-Cポートからトリプルモニターへの接続について質問があります。現在、ノートパソコンにはUSB3のタイプAポート2つとタイプCポート(DisplayPort機能なし)が1つあります。HDMIポートも1つありますが、追加のモニターを接続したいです。周辺機器などを利用してこの接続を実現する方法はありますか?ご教示いただけると助かります。
  • ノートパソコンで使用しているUSB-Cポートからトリプルモニターへの接続について質問があります。現在、ノートパソコンにはUSB3のタイプAポート2つとタイプCポート(DisplayPort機能なし)が1つあります。ダブルモニターの接続はHDMIポートを使用しているため可能ですが、さらにもう1枚モニターを接続したいです。このような場合に利用できる外付けの周辺機器等は存在するのでしょうか?ご回答いただけると幸いです。
  • ノートパソコンで使用しているUSB-Cポートからトリプルモニターへの接続についてお尋ねします。現在、ノートパソコンにはUSB3のタイプAポート2つとタイプCポート(DisplayPort機能なし)が1つあります。また、HDMIポートも1つ備えていますが、さらにもう1枚モニターを接続したいです。このような要件を満たすための周辺機器や接続方法があれば教えていただきたいです。よろしくお願いします。
回答を見る

専門家に質問してみよう