• ベストアンサー

VLOOKUP関数とIF関数

だれか、アドバイスをください!! VLOOKUP関数とVLOOKUP関数にIF関数がひっついているものの意味がわかりません。 マイクロソフトオフィスエキスパートの問題を練習しています。 少しはVLOOKUP関数については、わかりはしましたが、それにIF関数がつくと????です。 よろしくお願いします。

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

  • ベストアンサー
回答No.6

#2です。 IF(A1="","" だったんですね。 ISERRORは余分でした。逆に混乱させてしまったみたいでごめんなさい。 一度に色々と覚えるのは大変なので、ISERRORはもう少し先に勉強をされると いいと思います。 VLOOKUPについては D列   F列 みかん 100 リンゴ 150 バナナ 200 と言う表がある時に、A1セルに みかん と入力したら  みかんの右にある 100という数字を引っ張ってくるというものです。 B1に みかんの 100を呼び出す関数は下の通りです。 VLOOKUP(A1,D1:E3,2,FALSE) A1 は A1セルに入っている 「みかん」を検索すると言う意味 D1:E3 は みかん 100 リンゴ 150 バナナ 200 の範囲を指定しています。 必ず検索に使用する「みかん」の値が一番左側に来るように 表の範囲を指定する必要があります。 2 は 左から数えて2列目の数字を呼び出すと言う意味 最後の FALSE は 完全に一致するものを探しましょう という意味です。 TRUE は、完全に一致する物が無くても、代りの値を呼びましょうという意味です。 FALSEとしていると、D1:E3のコード表の中に 「みかん」が 無かった時は、#N/A というエラーの値がB1に表示されます。 TRUEとしていると、D1:E3のコード表の中に 「みかん」が無い場合でも 代りの値を呼んできます。 ※厳密には次の文字コードの値を表示するという意味ですが、 その辺を考えると余計に難解になりますので、VLOOKUPの時は 最後に原則「FALSE」を入れる決まりと思っていて問題ないでしょう。 つまり VLOOKUP(A1,D1:E3,2,FALSE) は A1のセルの値を、D1:E3の表の中の左端(D列)から探して D列に同じ値があれば右方向に2列目の値を呼び出して下さい と言う意味になります。 VLOOKUP関数を下にコピーする時には、値を探しに行くコード範囲が D2:E4 D3:E5 と言う風に変わってしまうと困るので $をつけて 絶対参照にして、必ず同じ範囲に値を探しにいくようにするといいです。 http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/index.htm?FM=rss

noname#27182
質問者

お礼

ほんとに、講師のように教えていただいてありがとうございます!! ちょっと整理してみます!でも、だいぶわかってきたような気がしてうれしいです!!

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

その他の回答 (5)

  • zuhka
  • ベストアンサー率12% (2/16)
回答No.5

再びNo.3-4の者です。 IF関数はお分かり頂けたようですね、それではVLOOKUP関数のほうの説明ですが・・・ VLOOKUP関数というのは、左端列から検索値と一致した行の指定列セルの値を求める関数です。 さっきの関数のVLOOKUP以降の部分を見てみると VLOOKUP(A1{←検索値},$AA$1:$AF$30{←範囲},3{←列番号},0{←検索方法}) となります。 どの部分がわからないのか、分かったのか教えてください。また、追加説明します。 下のリンク先に全関数の説明が出ていますのでこれも参考にしてみて下さい。

参考URL:
http://excelcafe.net/
全文を見る
すると、全ての回答が全文表示されます。
  • zuhka
  • ベストアンサー率12% (2/16)
回答No.4

No.3の者です まず一つ訂正をさせて頂きますね。 「絶対参照」は $A$1 の「$」のことですね。 msfsaさんのおっしゃるとおり、コピーしても範囲を変えたくないときに[F4]キーを使って変えますね。失礼いたしました。 検索値についてですが、さきほどの関数を使って説明しましょう。 先ほどの関数は =IF(A1="","",VLOOKUP(A1,$AA$1:$AF$30,3,0) でしたが 最初のIF関数のA1が空白なら空白を、そうでなければVLOOKUP関数を使って値を導き出してほしい、ということですね。 この関数の最後の0の部分、あれは「検索の型」です。 0=TRUE…完全に一致する値だけを検索する 1=FALSE…近似値を含めて検索する なので、上の関数の場合はA1に入っている数値を検索値にして、完全に一致する値を表示させることになります。 セルA1に「10」が入ってるとします。 「10」が「検索値」です

noname#27182
質問者

補足

IF関数の使い方は、理解できました。でも、こんどは、逆にVLOOKUP関数がわかんなくなってしまいましたぁ。あーどうしようもないのでしょうか?

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

 msfsaさんのおっしゃってる関数というのがおそらく =IF(A1="","",VLOOKUP(A1,$AA$1:$AF$30,3,0)  こんなかんじの関数のことをおっしゃっているんだと思います。(違ってたら補足お願いします。) この関数だとA1が""(空白)の時には""(空白)を、 そうでなければVLOOKUP関数を用いて、A1を検索値に、AA1からAF30の範囲の中の3列目の数値を、絶対参照してください。 ということになります。  VLOOKUPに限らず、関数がいくつか入っていても、ひとつひとつの関数の意味をちゃんと把握していればさほど問題なく使えると思います。  特にIF関数はいろんな関数にくっついて使う場面が実務でも多々あります。 MOSエキスパート試験、がんばってくださいね。

noname#27182
質問者

補足

そうです。そうです。 =IF(A1="","",VLOOKUP(A1,$AA$1:$AF$30,3,0) この関数だとA1が""(空白)の時には""(空白)までは理解できます。 これ以下です。  そうでなければVLOOKUP関数を用いて、(1)A1を検索値に、(2)AA1からAF30の範囲の中の3列目の数値を、(3)絶対参照してください。 (1)「検索値」ということと、(3)絶対参照がなんとなくわかりません。しかし絶対参照とは、セルを固定することですよね?

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

問題の関数を書かれていないので、どの様な説明をしていいのか 不明ですが・・ IF関数とVLOOKUPを使う意味は、ほとんどはVLOOKUPでエラー(#N/A)の時は 空白を返す と言うような意味かなと思います。 例えば =VLOOKUP(A1,$D$1:$E$30,2,FALSE) は、A1の値をコードにして D1~E30から同じコードを持つデータの 2列目の値を呼んでくる と言う意味ですが、A1のコードに 該当する物が D1~D30に入っていなければ #N/A の表示になります。 そこで IFを使って =IF(ISERROR(VLOOKUP(A1,$D$1:$E$30,2,FALSE))=TRUE,"",VLOOKUP(A1,$D$1:$E$30,2,FALSE)) と言うような書き方をします。 IF(A,B,C) の意味は もしも Aの時はB、そうでない時はCの処理をする。 と言う意味になります。 上の関数に入れている ISERROR(A) は Aがエラーかどうかを判別して エラーであれば TRUE エラーでなければ FALSE という値を返す関数です。 全部を分解して解説すると IF もしも ISERROR(VLOOKUP(A1,$D$1:$E$30,2,FALSE))=TRUE VLOOKUP()の値がエラー(#N/A)になるならば "" 空白を表示 VLOOKUP(A1,$D$1:$E$30,2,FALSE)) エラーでない時は、VLOOKUP()の 結果を表示しなさい と言う意味です。

noname#27182
質問者

補足

こんなに丁寧に書かれているのに、半分くらいしか理解できないです。 どうしようもないのでしょうかぁ?

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

式が分からないので何とも言えませんが、 N/Aを除くためではないでしょうか? VLookUPで該当する項目が無かったらN/Aとなり、 集計しにくくなります。 それを取り除くためにやっているのかもしれません。 もし(if)、該当する項目がなかったら、N/Aではなく空白で表示する。 という感じでは?

noname#27182
質問者

補足

質問が、希薄でもうしわけございません。 VLOOKUP関数の概念的なものからわからないのです。 なんて説明していいのか・・・・。 この関数にif関数をもちいることで、エラーを表示させないということはわかります。しかし、なぜ、if関数なんですか?

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

関連するQ&A

  • VLOOKUP関数とIF関数

    VLOOKUP関数が全体的に見えてきません。何をこれでしたいのか? また、VLOOKUP関数でIF関数を使うところなのですが、これはエラーを表示させないために使用することは、理解できました。 しかし 「=IF」をここで使用することで、エラーがなくなるのでしょうか?

  • IFとVLOOKUP関数を組み合わせて

    IFとVLOOKUP関数を組み合わせて条件に一致させた数値を出したいのですが引数の記述がわかりません具体的にはセルB5の値が2以上10未満の時は4,100を10以上15未満の時は6,500を15以上25未満の時は11,300を25以上35未満の時は16,100を35以上45未満の時は20,900をセルD5に標示させたい時はどんな記述をすればよろしいでしょうか?IF関数VLOOKUP関数を用いて別のセルにこの参照をさせる表(セルA7に2,B7に4,100 A8に10,B8に6,500 A9に15,B9に11,300…)を作成するすればできると思うのですが…

  • MSアクセスにおけるSUMIF関数やIF関数、VLOOKUP関数について

    アクセスにおいてエクセルでいう、SUMIFやIFやVLOOKUPなどに類似(もしくは同じ)関数はありますか? もしもあるとしたら、使用方法などアドバイス頂けたら嬉しいです。 宜しくお願いします。

  • IFとVLOOKUP関数

    VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?

  • IF,ISNA,VLOOKUP関数について

    下記の関数の件で、教えていただきたいのですが・・・。 =IF(ISNA(VLOOKUP(J13,販売先!$B$2:$C$495,2,FALSE)),"",VLOOKUP(J13,販売先!$B$2:$C$495,2,FALSE)) 作成時は問題なく、別シートに販売先No.をいれると、 自動的に販売先名が反映されるのですが、 販売先を新規追加したり、販売先名を変更したりすると 反映されなくなります。 上記の説明で分かりますでしょうか・・・? 分かりにくい説明だと思いますが、もし分かれば 何故でしょうか?どうすれば反映されるようになりますか?

  • VLOOKUP関数について

    VLOOKUP関数について教えていただきたいのですが、 数式が、=VLOOKUP(D2,Sheet2!A1:B132,2)で、結果も(例、”顧客名”)と正しく表示されているのですが、実際のセルに表示されるのは関数の数式で結果が表示されません。なにか表示の方法があるのでしょうか。officeは2003で、OSはXPです。お分かりのかた力を貸してください。

  • IF関数にISNAとVLOOKUPが入った質問です

    当初excel2007でIFEROOR文の中にVLOOKUP関数が入った表を作成したのですが、excel2003以下のバージョンでも使用できるようにIF文の中にISNA関数とVLOOKUP関数が入った式に変更してバージョンをexcel97-2003で保存しました。確認のためexcel2003で開き関数の作動チェックをしたところ正常に作動しました。ところが別のPCのexcel2003や2000で作動するとエラーがでます。自分のPCではOKなのですが、原因がわかりません。教えて下さい。

  • 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関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • エクセル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)のどこかにあります 関数教えて下さい。よろしくお願いします。

専門家に質問してみよう