• ベストアンサー

どの関数が良いのか教えてください

VLOOKUPまたはDGETで試してみましたが、 うまくいきません。 よろしくお願いいたします。 あ  ABCDE  C あ  ABCDE  C ・    ・    ・ ・    ・    ・ ま  EFGHI  R ま  EFGHI  R ・    ・    ・ ・    ・    ・ A、B、Cそれぞれの列には全く同じ値の行が複数ずつあります。 A、B、Cの値の組み合わせは全て同じです。 このデータベースからB列の「ABCDE」ならばC列の「C」を拾って 来たいのですが、うまくいかないのは同じ値の行が複数あるから なのでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
noname#187541
noname#187541
回答No.3

こんにちは。 >VLOOKUPまたはDGETで試してみましたが、 >うまくいきません。 「うまくいきません」では無くて、具体的にどうなるのかを書いてください。 VLOOKUPだと同じ値があっても最初に見つけた値を返します。 エラーが表示されるのであれば、検索値や範囲などどこか間違っていると思われます。(範囲にAれるを含めているなど) よく見直してみるといいでしょう。

no-no-mi
質問者

お礼

ありがとうございます。 =VLOOKUP(”ABCDE”,C:C,2,0)と拾いたいデータの列だけを選択しておりました。申し訳ありません、具体例をあげるべきでした。教えていただいたように、範囲の捕らえ方を間違えておりました。今後、例をたくさん拝見し勉強していこうと思います。

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

その他の回答 (3)

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

>うまくいかないのは同じ値の行が複数あるからなのでしょうか。 同じ値の初めの行の値を表示するので、2番目以降の行のC列を表示したい場合は VLOOKUP以外の関数の組み合わせですね。 そういうことなら過去に同じ質問がいっぱいあります。 上手くいかない理由として考えられることは VLOOKUPの場合は左端の列を参照して値を返しますので、 参照する表の範囲はB:C列になります。 DGETの場合は先頭の行に項目名が必要ですが... 数式はどのようになってますか?

no-no-mi
質問者

お礼

ありがとうございます。 =VLOOKUP(”ABCDE”,C:C,2,0)と拾いたいデータの列だけを選択しておりました。範囲という点で全く理解をしていなかったようです。範囲を選択し直しましたら完成しました。ご親切にありがとうございました。質問の仕方等、勉強させていただきます。

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

VLOOKUP関数で大丈夫のはずですよ。 =VLOOKUP("ABCDE",B1:C100,2,0) の完全一致検索できませんか? 最後の引数を省略すると検索値が見つからない場合に、検索値未満で最も大きい値が使用されます。この場合は表がB列の値で昇順に並べ替えされていないとなりません。完全一致なら並び替えは不要で、最初にHitした行のC列の値を取得します

no-no-mi
質問者

お礼

ありがとうございます。 =VLOOKUP(”ABCDE”,C:C,2,0)と拾いたいデータの列だけを選択しておりました。データの重複にばかり気を取られており、基本的なところを見落としておりました。ご親切にありがとうございました。助かりました。

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

=VLOOKUP("ABCDE",B1:C100,2,FALSE) のように、検索の型をFALSEとすればできると思います。

no-no-mi
質問者

お礼

ありがとうございます。 =VLOOKUP(”ABCDE”,C:C,2,0)と拾いたいデータの列だけを選択しておりました。教えていただいたように範囲を選択しましたら数値を拾うことができました。データの重複にばかり気を取られており、全体をみなかったのが原因かと思われます。勉強を重ねます。

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

関連するQ&A

  • 関数

    Excelで関数を使用して以下のようなデータから A列からB・Cの複数のデータ抽出をすることは可能でしょうか? (VLOOKUPですと助かります) <sheet> A列 B列 C列   1  A   1     2  A   2  3  B   3  4  B   4  5  C   5  6  C   6 複数の関数を組み合わせでもかまいませんので、お手数おかけしますが よい方法が有ればご教示お願いします。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • Excelの関数で

    お願いします。 Index関数とMatch関数を使用して表の中の値を求めようとしましたが、 検索行が複数あるため、うまくいきません。 検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。 更に空白もあります。 こんな感じ↓です。 ---------------------   あ  い   う   え      お   か ---------------------    a  10  20  30 b  40  50  60 c  70  80  90 --------------------- こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか? 大変困っております。よろしくお願いします。

  • EXCELの関数

    EXCELで、Aの列に○、Bの列に×がある行のCの列の数字を返す関数の使い方があれば、教えて下さい。 AとCの二つの列だけだと、VLOOKUPという関数を使えばAが○の時のCの数字を返す事ができるという事までは分かりましたが、Aの列に○がある行が2つ以上ある場合(Aの列が○で、Bの列が△である行を無視したい場合)、そのまま使うことができなくて困っています。 かなり初心者なので、申し訳ありませんが、よろしくお願いします。 例 ○   △   5 ×   □   3 ○   □   4 ○   ×   1 上のような行が無数に並んでいる場合で、左の列と真ん中の列の組み合わせが1つしかない時、左の列と真ん中の列の文字を指定した時の右の列の数字を返したい。

  • エクセルのVLOOKUP関数で#N/A エラーが出ます

    同じように60行ほど、コピーしたのですが、k列の2行目とl列の3行目だけが#N/Aになります。試しに、検索の型のところを1にしてみたら、他の語になります。 ちなみに、k列の2行目とl列の3行目は対応する語なのです。 いろいろと調べているのですが原因がわかりません。 これを元に多数のデータを処理したいと思っているので困っています。 1部だけを見て判断できにくいと思いますが、アップしにくいのでどうしたらよいかわかりません。 何か手がかりでも教えていただけたらと思います。よろしくお願いします。     k列                  l列 =VLOOKUP(B16,$A$16:$F$20,5,0)    =VLOOKUP(C16,$A$16:$F$20,6,0) =VLOOKUP(B17,$A$16:$F$20,5,0) #N/A =VLOOKUP(C17,$A$16:$F$20,6,0)  =VLOOKUP(B18,$A$16:$F$20,5,0)    =VLOOKUP(C18,$A$16:$F$20,6,0)  #N/A  =VLOOKUP(B19,$A$16:$F$20,5,0)    =VLOOKUP(C19,$A$16:$F$20,6,0) =VLOOKUP(B20,$A$16:$F$20,5,0)    =VLOOKUP(C20,$A$16:$F$20,6,0)

  • エクセルの関数についての質問です。

    エクセル関数について質問です。 初心者ですが、宜しくお願い致します。 例えば、A列に名前、B列に数字、C列にコストを並べて、30行の種類が有る場合。 :C列のコスト10000以内で、B列の数字が一番大きくなる、10行の組み合わせの式を作りたい時には、どうすれば良いですか? 30行の中で、コストが10000以内で、Bの値が一番大きくなる組み合わせの10行が知りたいです。 説明下手で申し訳ございませんが、どなたかご回答宜しくお願い致します。

  • IF関数の初級レベルの質問です・・・。

    こんにちは。初歩的な質問で申し訳ありません。 ExcelのA列には「A or B orC」という記号が入っています。 B列には数字が入っています。 そこで、 A列の値が「A」に該当する場合はその行のB列の数字を すべて合計して、合計値をC1に入れる。 A列の値が「B」に該当する場合はその行のB列の数字を すべて合計して、合計値をC2に入れる。 A列の値が「C」に該当する場合はその行のB列の数字を すべて合計して、合計値をC3に入れる。 なお、合計数字が「0」の場合はC列は空白にする。 という関数を作りたいのですが、どういう式にしたらいいでしょうか? よろしくお願いします・・・。

  • エクセル関数を使って検索したいです。

    やりたいことは以下の通りです。 Sheet1~Sheet15が存在します。Sheet2~Sheet15には3列で行がそれぞれ異なる表があります。例えばSheet1は5行3列、Sheet2は10行3列、Sheet4は30行3列のように。ちなみにこれらの表は行が追加されていきます。 Sheet1にも同様に3列の表があるのですが、Sheet1のB列(2行目)に、式を作りたいです。 どんな式かと言うと、Sheet1のA列(1行目)に値を入れると、それと同じ値を、Sheet2~Sheet15のA列(1行目)と同じものを探し、そのSheetのB列(2行目)の値を返すというようにしたいです。 VLOOKUPを使うといいかと思うのですが、Sheetを14個もまたいで検索したい時にIFで作るとエクセル2003なので入れ子が7個以上になってしまいうまくいきません。 ちなみに、Sheet1に入力する値はAAA1やBBB2の様にアルファベットと数字の組み合わせです。 よって、例えばSheet2のA列にはAAA1、AAA2、AAA3、AAA4の様に、Sheet2のA列にはBBB1、BBB2、BBB3、BBB4の要に入力された状態になっています。 どなたかうまく切り抜ける方法を教えてください。

  • vlookup複数列検索

    vlookupの複数列検索でどういった計算式がいいか教えてください。  A列 B列   C列  D列   2/1 100   6/1 200 とデータがあったとして 初めにA列の2行目のデータをvlookupで計算式をかけ A列になかったら C列の2行目を検索するようにしたいのですが 本来だったらC・D列をA・B列にもっていけばいいのでしょうが、私のやりたいこととして このような2重条件の計算式に持っていきたいです。 vlookupの複数条件は色々とやり方があるみたいで、どれが適してるのか 分からず困っています。 どなたかご存知の方教えてください。 よろしくお願いします。

  • vLOOKUP関数の仕様

    VLOOKUP関数で検索値が検索対象に複数あるときに検索の型をfalseにすると 例えば E列に検索値のリストがありA列が検索対象になりC列が返す数値があるとすると =VLOOKUP(E1,$A$1:$C$1000,3,FALSE) という風にすると返す数値が A列で一番上にある一致行のC列を返す。 A列で検索値が一致する中でC列の値が最も少ない数値を返す。 のいずれかに見えるのですがこれは仕様として正しいのでしょうか?それとも、私の勘違いでしょうか? ちなみに、上記二つの仕様のうちどちらでも影響が無いんです。C列の数値が連番(時々欠番がありますが)ですので。

専門家に質問してみよう