• 締切済み

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

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

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

=IF(OR(A1<1,ISNA(VLOOKUP(..))),"",VLOOKUP(..)) とか =IF((A1<1)+ISNA(VLOOKUP(..)),"",VLOOKUP(..)) とかでも十分です。

yukawasinko
質問者

お礼

ありがとうございます。 早速、やってみます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えば =IF(A1<1,"",IF(ISNA(VLOOKUP(検索値,範囲,列番号,FALSE)),"",VLOOKUP(検索値,範囲,列番号,FALSE)))

yukawasinko
質問者

お礼

すぐに回答頂きまして、ありがとうございます。 やってみます。

関連するQ&A

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

  • 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)) よろしくお願いします。

  • (エクセル)2つの関数の式について。

    【=IF(A1=1,VLOOKUP(検索値,範囲1,列番号),IF(A1=2,VLOOKUP(検索値,範囲2,列番号),""))】 の式は2つの関数を混ぜてあるのですが、どのように指定すればいいいのでしょうか?fxをクリックしてIF関数を選び、論理式でA1=1をいれ、真の場合のところにVLOOKUP(検索値,範囲1,列番号)をいれてOKするとエラーになります。式の指定の仕方が分かりません。

  • ISNAとISERRORの使い方の違い

    こんばんは。 超初心者です。教えてください。 VLOOKUP関数で、検索結果がみつかったらその値を表示する式で =IF(ISERROR(VLOOKUP(A1,表,列,処理方法)),"",VLOOKUP(A1,表,列,処理方法)) という書き方と =IF(ISNA(VLOOKUP(A1,表,列,処理方法)),"",VLOOKUP(A1,表,列,処理方法)) という書き方をみつけました。 1.どちらがよいのでしょうか? 2.どちらも同じ答えがでるのでしょうか? 3.またISERRORとISNAでは何が違うのでしょうか? よろしくお願いいたします。

  • 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)) です。 よろしくお願いします。

  • エクセルの関数VLOOKUPについて教えて下さい。

    エクセルの関数VLOOKUPについて教えて下さい。 範囲にあたるデーター部分が3つのかたまりに分かれている時どのような数式で表すことができますか? 具体的には、HIJ KLM OPQの列位置にある3つの表の中から検索したいのです。 作った数式は1つの表から検索するもので =IF(C9="","",IF(ISNA(VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE)),"未登録",VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE))) です。(C9,材料一覧!$H$5:$J$54,2,FALSE)の後に&(同じ数式で列文字を入れ替えて)で繋げてみました。列範囲KLMの表は上手くいったのですが、3つ目のOPQの表は上手くいきませんでした。 原因と正しい数式を教えて下さい。 よろしくお願いいたします。

  • エクセルの複数条件関数

    エクセル関数の複数条件について初歩的な質問だと思うのですが、どうか関数式を教えていただけないでしょうか? IF関数でできるのではないか?と思ったのですが、うまくいかずうまくいく関数式を教えていただければ助かります。 ・AD列は作業担当者になりATSかPCTSDを選択できる(ここは既存で設定済み)<例>=IF(B21=1,VLOOKUP(Y21,作業担当!$A$2:$B$30,2,FALSE),0) ・AE列は分類コードで100/200/400のどれかが表示されるようになる(ここは設定済み)<例>=IF(B21=1,VLOOPLUP(J21,分類!$A$2:$B$8,2,FALSE),0) ・AF列はATS onlyとして<例>(AD21="ATS",AE21,"")と入力している。ここも設定済み。ATS only列はPCTSDであれば空白になるようにしている。 ・AG列はATS 100 to 500で以下のような条件式にしたいです。ここがうまくいっていません。AD列がATSでAE列が200であれば500、AD列がATSでAE列が100であれば300、AD列がPCTSDでAE列が100/200/400であれば空白にしたいです。 ・AG列の結果をもってAH列のファイナル分類コードに引き継ぎたいです。既に設定済みで<例>=IF(AG39="",AE39,AE39)としています。 AG列の条件を満たす関数式を教えていただけないでしょうか? よろしくお願いいたします。

  • Vlookで引っ張ってきた結果を横にうまくコピーするには・・・

    エクセル初心者です。 =VLOOKUP(A1,Sheet1!A:E,1,false) と言う関数で 横にコピーするたびに列番号を1234とずらすにはどのようにすればよいでしょうか。 また、falseの部分をfalseとするのと0とするのとでは結果にどのようなちがいが出来るのでしょうか。 どうぞよろしくお願いいたします。

  • エクセル関数 IF関数・OR関数・ISNA関数

    いつもお世話になります。 IF()と OR()と ISNA()を組み合わせて行数を返したいのですが、 セルの値が 0 ではない もしくは #N/A なら行数を、そうでなければスペースを返したいのです。 A列に関数が入っており、数値か#N/Aが返されています。 B2セルに、 =IF(OR(A2<>0,ISNA(A2)),ROW(),"") と入力しB列最下行までオートフィルしたら、 A列が0の場合は行数が返りましたが、#N/Aの場合、、#N/Aと返され行数が返りません。 どこに問題があるか、わかる方教えてください。よろしくお願いします。

  • VLOOKUP関数の列番号をフィルに対応させる方法を教えてください(COLUMN関数以外)

    VLOOKUP関数を横のセルにフィルして使いたいのですが、 検索範囲がA列~ではないので、列番号にCOLUMN関数を使えません。 シートのフォーマットを変えず、範囲内における列番号(範囲内で左端から何番目か、など) を返すためにはどうすれば良いか、ご存知の方教えてください。 VLOOKUP関数を横のセルにフィルしていった場合、列番号は変わらないため、 列番号にCOLUMN関数を入れて列番号を返すようにするとうまくいきますよね。 ただ、COLUMN関数は単純に列番号を返すだけなので、この方法は VLOOKUP関数の検索範囲がA列から始まっている場合のみにしか使えません。 シートのフォーマットを変えず、VLOOKUPにおける範囲がB列以降になる場合、 範囲内における列番号(範囲内で左端から何番目か、など)を返すための関数 もしくは他に何か良い方法をご存知でしたら、お教えいただけませんでしょうか。 売上12ヶ月分+利益12ヶ月分が横に広がっている定型フォーマットがあるのですが、 24ヶ所の列番号を手入力で直すのって非効率的なので・・・。 どうぞ宜しくお願い致します。