• ベストアンサー

エクセルでVLOOKUP関数の使い方を教えてください。

J列に"○"が入っていて、かつC4="1番"というシートのI3が同じ場合、(C4=1番I3) P列に"1番"のJ列の数字を入れたいのですが、うまくいきません。 VLOOKUP関数を使うと思うのですが、どのようにやればよいのでしょうか。 よろしくお願いします。

  • acoa
  • お礼率32% (26/81)

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 "J列"・"P列"などの列単位での表現と、"C4"・"I3"などの具体的なセル位置での表現がごっちゃになっているので、いまいち分かりにくいです。 とりあえず、元のシートで、J列に「○」がある場合のみ、C列の値で、"1番"シートのI列を検索して、対応するJ列の値を表示させるとします。 2行目の場合は、 =IF(J2="○",IF(COUNTIF(1番!I:I,C2),VLOOKUP(C2,1番I:J,2,FALSE),""),"") これを下の行へコピー。

その他の回答 (1)

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

'C4="1番"'と言うシートのI列を参照してJ列を表示なら P4=IF(ISNA(VLOOKUP(J4,'C4="1番"'!$I$2:$J$1000,2,FALSE)),"",VLOOKUP(J2,'C4="1番"'!$I$2:$J$1000,2,FALSE)) の様になるのでは? シート名には[=]とか["]は使わない方がいいと思いますが... それとも、シート名が'1番'でC4にて表を選択なら 表を「挿入」「名前」「定義」で、「_1番」と名前付け (名前定義は数字から始まるのは不可の為、「_」を付けてます) P4=IF(ISNA(VLOOKUP(J4,INDIRECT("_"&C4),2,FALSE)),"",VLOOKUP(J4,INDIRECT("_"&C4),2,FALSE))

関連するQ&A

  • ExcelのVLOOKUP関数でわからないことが・・・

    N   ┃O       ┃P     ・・・   X   ┃    Y┃ Z 車番 ┃乗務員コード┃運転手 ・・・乗務員CD┃運転手┃車番 上記のような構成の表を作ってあります。 O列に数字を入力した時点で、N列・P列の両方がいっぺんに出るような関数を入れたいと言うのが目標です。隣のX列~Z列はその参照する表です。P列に =IF(O3="","",IF(O3=VLOOKUP(O3,$X$1:$X$202,1),VLOOKUP(O3,$X$1:$Y$203,2),#REF!)) と言う関数により片方はできました。Oに数字を入力した時点でP列には運転手の名前がちゃんと出ます。問題は隣の車番でして、同じようにO列の乗務員CDを参照させてVLOOKUP関数を設定したのですが、値を返してくれないどころか、Enterを押すと数式がそのままセルに表示された状態になってしまいます。ちなみにN列に打った関数は =IF(O3="","",IF(O3=VLOOKUP(O3,$X$1:$Y$202,2),VLOOKUP(O3,$X$1:$Z$203,3),#REF!)) です。しかももっとわからないことに、他にも同じ作業をさせているセルがいくつかあるのですが、唯一ココだけができないと言うことです。これはどうすれば良いのでしょうか? 下手な質問で申し訳ありませんが、これでわかる方がいましたら、是非、是非力を貸してください! よろしくお願いします。

  • エクセル関数VLOOKUPのことですが

    VLOOKUPで別のシートのセルから数字を引っぱってくる設定をしたのですが、その参照するセルが空白だった場合、0が表示されてしまいます。 空白のときは空白にしたいのですが、以下の関数にどう付け加えればいいですか? =VLOOKUP(B2,Sheet1!B4:I52,8,0)

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

    =IF($B$3="","",IF(ISERROR(VLOOKUP($B$3,注文管理!A$3:AE$9898,4,0)),"客注NO.を確認!",VLOOKUP($B$3,注文管理!$A$3:$AE$9898,4,0))) VLOOKUP関数を使って、上の式を作りました。 B3に入るのは5桁の数字で文字列です。注文管理のA列に5桁の数字が入っており、そこも文字列にしています。 うまくいく数字とうまくいかない数字があるのですが、なぜだかわかりません。 どこがおかしいのかおしえてください。

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

    エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。 それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。 LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。 3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。 文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか? 1つずつ自分で数字を入力するしかないのでしょうか? 他に何か別の方法でも構いませんので、教えていただけないでしょうか?

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • エクセルのVLOOKUP関数

    エクセルでVLOOKUP関数を使ってます。 一般的には、たとえば製品番号(数字)を入力すると 製品名(文字列)を引いてくるという使い方でVLOOKUP 関数を設定すると思いますが、製品名を入力すると、製品番号を引いてくるように設定しようと思ったらうまくできません。 何かよい方法はありますか?

  • エクセル 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関数?と思いますが、どんな式にしていいのかわかりません。 それか、他の関数の場合はどうすればいいのか?付け足さなくてはいけな出来ないものがあればそれも知りたいと思います。 宜しくお願いします。

  • 関数 数式 Excel

    すみませんが教えてください! E列に下のような関数を入れたところ正しく表示されませんでした・・・ どうぞよろしくお願いします。 A列(数字・空白を含む)が 1 の場合”◎” A列が1以外の場合は B列(別シートから参照のVLOOKUP関数が入っている)と C列(別シートから参照ののVLOOKUP関数が入っている) を足した数字が D列(別シートから参照ののVLOOKUP関数が入っている) が同じなら ”OK” 違うなら ”NG" と表示させたいので =IF(A1=1,"◎",IF(D181=(B181+C181),"OK","NG")) としてみましたが"◎"が表示される表示は正しいのですが "OK" "NG"が正しく表示されません。 これに加えていずれのセルにも空白が存在するのでエラーを出さないようにしたいです。 よろしくおねがいします!!

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

  • Vlookupのような関数について

    Vlookupにて、下記にある文字シートにあるB列の文字を、都道府県シートのB列に挿入する場合、以下のような関数を利用すればよいかとおもいます。 =vlookup(A1,数値シート:$A$1:$B$4,2,false) そこで、文字シートのA列とB列が入れ替わった場合(キーとなる列が左端では無い場合)はどのような関数にすれば良いのでしょうか? ※文字シートのAとBを入れ替えてというのは無しでお願いします。 都道府県シート A列 B列 埼玉県 東京都 神奈川県 山梨県 文字シート A列 B列 山梨県 あいう 東京都 かきく 神奈川県 なにぬ 埼玉県 さしす

専門家に質問してみよう