• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL の VLOOKUP で 結果は正しいのですが・・・・)

VLOOKUPで結果が正しく表示されない問題について

このQ&Aのポイント
  • Windows XPのOffice 2003環境で、ExcelのVLOOKUP関数を使用しています。
  • VLOOKUP関数の検索結果が正しい値を返しているが、表示される行が正しくない問題が発生しています。
  • 検索範囲や検索キーなどの設定に問題はないか確認しましたが、原因がわかりません。

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

  • ベストアンサー
  • mako_sea
  • ベストアンサー率47% (62/130)
回答No.4

>3、台帳SheetのG列にある値(検索値)がSheet2枚目の早得(の範囲)に完全Matchがあれば、 > 早得のSheet(2枚目)のその検索値に印(数字が一番ですが、色でも、記号でも何でもOKです) > を付けたいのです。   台帳にある値が基準で、結果を台帳とは違う2枚目のSheetに出そうとしています。 もう一度認識合わせをしたいのですが、 "早得"の範囲が仮にsheet2のA1:C10だったとして、 完全マッチするかをチェックするのは 台帳シートのG列とsheet2のA列でよろしいですか? YESの場合 台帳のデータが200行と仮定して、sheet2!のY6セルに入れる式は =IF(ISNA(MATCH(sheet2!A6,台帳!G1:G200,0)),"","あり") とすれば大丈夫だと思います。 NOの場合 多分"早得"範囲の複数列すべてを検査するということですよね。 そうなるとVLOOKUPやMATCH関数では検査できません。 参考URLにあるような、SUMPRODUCT関数を 工夫して利用することになりそうです。

参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1116982146
helpcall
質問者

お礼

色々勉強になりました。  MATCH は一度も使った事が無かったのですが、 今回の ように、」2択の場合には使えそうですね。 皆さんのご指摘で、 山ひとつ越えました。 ありがとうございます。

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

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>Sheet1(台帳)のG25の値が、 Sheet2の「早得」の22行目にあった場合、 と書かれていますが、数式では > =IF(ISNA(VLOOKUP(台帳!G6,早得,1,0)),"",VLOOKUP(台帳!G6,早得,1,0)) という様にSheet1(台帳)のG25セルの値ではなく、台帳シートのG6セルの値の有無を調べる数式になっている様ですが、検索値を入力するセルは、台帳シートのG25セルとG6セルのどちらなのでしょうか。  それから、数式を入力したセルをコピーアンドペーストで複写すると、ペースト先のセルの数式では、参照するセルが変わってしまいます。  例えば、Y4セルにG6セルを参照する数式が入力されている場合、Y4セルをコピーして、Y6セルに貼り付けた場合、Y6セルの数式ではG8セルを参照する様に変わってしまいます。  同様にW4セルに貼り付けた場合は、E4セルを参照する様に変わってしまいます。  参照するセルを変えたくない場合には$記号を付けます。  例えば、参照するセルをG6セルに固定する場合は、数式中の参照するセルを示している部分の、行番号と列番号の前にそれぞれ$を付けて$G$6とします。  行番号は変わる方が良いが、列番号だけ固定したい場合には、列番号の前にのみ$を付けて$G6とします。  列番号は変わる方が良いが、行番号だけ固定したい場合には、行番号の前にのみ$を付けてG$6とします。  質問文中の数式では、$が付けられていない様ですから、結果が表示される行がずれるのは、その事が原因である可能性もあるかも知れません。  後、検索値と同じデータがある行に、何らかの表示をさせるだけの場合には、VLOOKUP関数よりも、IF関数の方が良いと思います。(この場合、検索関数やIS関数は必要ありません)  例えば、「早得」の1列目の列番号が何列になるのかは、質問文だけでは判らないため、今仮に、SHEET2のC列に、台帳シートのG6セルの値と同じデータがある場合に、SHEET2の同じ行のY列に「有」と表示させるものと仮定しますと、先ずはSHEET2のY2セルに以下の数式 =IF(AND(台帳!$G$6<>"",$C2=台帳!$G$6),"有","") を入力してから、Y2セルをコピーして、Y列の他のセルに貼り付けると良いと思います。

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

>2SHEET目のY列に以下の式を入力すると、 結果が返ってくるのですが、 > >=IF(ISNA(VLOOKUP(台帳!G6,早得,1,0)),"",VLOOKUP(台帳!G6,早得,1,0)) > >SHEET2上に検索値があると、その同じ行に結果を返したいのですが、違う行に結果が表示(返って)されてしまいます。 この式が入っているセルは台帳シートのY6だと思っていいですか? この式だと、 「台帳!G6のセルと同じものが"早得"範囲にあれば表示する」 という意味になりますよね。 なので台帳!Y6にその結果を表示するなら整合すると思います。 この式をsheet2のY列に入れたいのなら、 ・第一引数はsheet2の"早得"範囲の1列目 ・第二引数は台帳!シートのG列 にするべきですよね。 そのへんの意識があっているか確認させてください。 それから、検索値があるか/無いかの二択なら こちらのほうがシンプルかなと思います。 =IF(ISNA(MATCH(台帳!G6,早得,0)),"","あり")

helpcall
質問者

お礼

確信を突いた回答だと思います。 1、式が入っているシートは台帳シートのY6ではありません。2枚目のSheetのY6です。 2.やろうとしている事は2択です。 3、台帳SheetのG列にある値(検索値)がSheet2枚目の早得(の範囲)に完全Matchがあれば、  早得のSheet(2枚目)のその検索値に印(数字が一番ですが、色でも、記号でも何でもOKです)  を付けたいのです。   台帳にある値が基準で、結果を台帳とは違う2枚目のSheetに出そうとしています。 4、台帳で無い2枚目のSheetに印を付けたいのです。 5.以下の式の台帳と早得を逆にすれば可能でしょうか? =IF(ISNA(MATCH(台帳!G6,早得,0)),"","あり") よろしくお願いいたします。

helpcall
質問者

補足

お礼に入力してしまいましたが、 2枚目のSheetY6(式が入っている)には台帳の値が返ってきて居るのが判りました。

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

=IF(ISNA(VLOOKUP(台帳!G6,"早得",1,false)),"",VLOOKUP(台帳!G6,"早得",1,false))

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

関連するQ&A

  • ExcelのVLOOKUPで結果の表示が・・・

    うまくいきません。 =IF(B17="","",VLOOKUP(B17,Sheet3!$A$1:$B$40,2)) という関数を入力しました。 結果は範囲内の2列目から検索された 「0010181」という数字のはずなのですが正しく表示されません。 この場合、結果は「0040602」と表示されました。 (関数は間違っていないと思うのですが) セルの書式設定は「文字列」になっています。 他のセルでもやはり正しい結果がでません。 こんなことは初めてでさっぱりわかりません。 どうしたら、範囲内にある正しい数字(文字列)が表示されますか? うまく説明できないので不明な点があったら補足致しますので よろしくお願い致します。

  • VLOOKUP 関数に関連して・・・・

    VLOOKUP 関数に関連して・・・・ Excel のBOOK名 「JAPAN」 があり 中に2Sheetあります。 Sheet 名 は「東京」 と 「日本」です。 Excel のVLOOKUP を使うために、 Sheet 「東京」の カラムBの範囲に 名前を「商品」とつけました。 2Sheet目 の「日本」 の カラム EとFに検索対象があり、範囲に名前「台帳」とつけました。 それで、 VLOOKUP 関数を 2Sheet目 の カラムGに  =Vlookup('東京'!商品,台帳,1,0) と入力すると、 Sheet名がBook名に勝手に置き換えられて しまい、  =Vlookup('JAPAN'!商品,台帳,1,0) となってしまいまい、 #Value! が出てしまいます。 1.この置き換えは問題無いのでしょうか? 2. 問題があるとすれば、どうやればとめられるのでしょうか? 3. 検索値は 数字13桁のJANコードなんですが、 数値あるいは文字列で統一が    必要でしょうか? 環境は   Windows  XP   Office  2003  です。 よろしくお願いいたします。

  • エクセル VLOOKUP関数?を使ってこのような事が出来るか知りたいです。

    Sheet1の2行目A~D列に 1 2 5 8と入っています。 Sheet2の   〃   に 3 2 5 9と入っています。 Sheet3の   〃   に 9 3 5 1と入っています。 Sheet4のA1にSheet1 と入力した際、B1~E1のセルに、Seet1に入っていた 1 2 5 8と表示させたいのですが、出来ますでしょうか? 私が思うにVLOOKUP関数?と思いますが、どんな式にしていいのかわかりません。 それか、他の関数の場合はどうすればいいのか?付け足さなくてはいけな出来ないものがあればそれも知りたいと思います。 宜しくお願いします。

  • エクセルのVLOOKUPについて

    エクセルのVLOOKUPについて ものすごく読みづらい、理解しづらいかもしれませんが付き合ってください・・・ エクセルでvlookupを使って検索するときに検索する対象の表(シートではない)が複数あって、表ごとに空白の列で区切ってあって、検索するキーワードの文字列が同じものが複数ある場合、ダブっているものが複数あるので正常に検索することができないですよね? 検索する対象の文字列は全てダブっていないものでないといけないですよね? 検索する列範囲で一列目に検索する文字列の隣にたとえばグラフの範囲を書き込んだら検索する文字列のところにグラフの範囲が表示されますがその範囲に基づいて指定の種類のグラフを作成するような関数はありますか? 聞きたいことの要約 文字列で検索する 検索する範囲の2列目にグラフの範囲を書き込む VLOOKUPを検索する文字を書くところに入れる 文字で検索する グラフの範囲が返され自動的に縦棒グラフが自動的に表示される この様なことができますか?

  • Excel 2007 vlookupについて

    Excel 2007 vlookupについて 同じシートでA列とB列の2列にある型番で一致するものをC列に表示させたいです。 実際A列の型番は一意の番号です。 B列の型番は同じ番号がございます。 型番1は100行ぐらい。 型番2は300行ぐらい。 C列にどのようなvlookupを記載すればよろしいでしょうか。 ※C2以降に結果が表示されるようにしたいです。

  • エクセル、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の結果があるセルの書式を取得したい =VLOOKUP(検索値,範囲,列番号,検索の型)で値を取ってくることは 出来ますが、その値の入っているセルの書式を取得したい。 Sheet1の セルA1に、検索したい値が入っていて、 セルB2にVLOOKUP関数が入り。 範囲はSheet2のA1:D1000となっていて、 列番号に4と入っていて10行目に 検索値と一致する値が入っていた場合に、D10の値は VLOOKUP関数で持ってこれますが、D10のセル書式を セルB2に反映させたいのですが、どのようにすれば良いでしょうか? VBAでプログラムしないとダメでしょうか?

  • 【エクセル】 VLOOKUPについて

    エクセル関数の VLOOKUPは範囲選択した表の左端の列しか検索対象に出来ないのでしょうか? 例えばSheet1に↓のような表があって     A      B     C     D     E 1 機種名   購入日   シリアルNo   メーカー名  ・・・・  2  X     07/01/01   123X         LLL 3  Y   07/02/03    456Y       MMM 4  Z   07/05/21    789Z        NNN 5  ・・・ 6  ・・・ Sheet2に↓のような表を作って、   A     B 1   シリアルNo   機種名 2   456 3   789  4   123 5    432 B列にVLOOKUPでsheet1の表から、シリアルNoに対応する機種名を表示 させることは出来ますか? 特にVLOOKUPにこだわってるわけではないので、他の方法でも出来る のであれば良い方法を教えてください。よろしくお願いします。

  • EXCELのVLOOKUPについて

    はじめまして VLOOKUP機能を使っていたら行き詰ってしまったので質問します。 =VLOOKUP(検索値、範囲、列番号、検索の型) と言う形で作っているのですが 列番号のところを行番号で指定したい場合は どのようなコマンドを入れればよろしいのでしょうか? 宜しくお願いします。

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

このQ&Aのポイント
  • ロシアのウクライナ侵攻により、カスペルスキーの安全性は問われています。
  • カスペルスキーは性能が高く評価されていましたが、本社がモスクワにあるため、セキュリティに関しては注意が必要です。
  • ロシアは共産主義国家であり、政府による情報利用の可能性もあるため、カスペルスキーの利用には慎重さが必要です。
回答を見る