• ベストアンサー

エクセルのVLOOKUP関数の応用

VLOOKUP関数は、 ”AがBXとCYの範囲内でその左端のどれかと一致すればその行のD列目のデータをコピーする”というような文法で使うと思います。 それの発展系として、 "AがBXとCYの範囲内でその3列目のどれかに一致し、かつ、その行の左端が”合計”ならばその行のD列目のデータをコピーする”というようにできないでしょうか。 すなわち検索する列番号を指定することと、それに検索する条件を1つ付加するということです。前者の問題は列を入れ替えれば良いのですが、もしあれば教えて頂きたいです。後者の問題の方が切実なのですが。よろしくお願いします。

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

  • ベストアンサー
  • taka_s777
  • ベストアンサー率57% (8/14)
回答No.3

仮に、検索値を"A"、BXとCYの範囲をA1:D5として書きますが 結局のところA列が"合計"で、C列が"A"であるD列の値がほしいということでしょうか。 合計の行であるから「数値」と勝手に解釈しますが =SUMPRODUCT((A1:A5="合計")*(C1:C5="A"),(D1:D5)) としてみてはいかがですか?

skmsk19410
質問者

お礼

なるほど。この方法なら出来そうですね。有難うございます。 sumproductという名称から察すると、(A1:A5="合計")*(C1:C5="A")という条件が合致しさえすればその総和を計算するということですか。 検索条件に合致するのは1回しかないはずですので総和を計算するというのはさらに上位の機能のようですが。

その他の回答 (2)

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.2

質問が不明確。 >AがBXとCYの範囲内でその3列目 BZのこと? >その行の左端 A列のこと?BXのこと? もうちょと具体的に書かないと答えようがない。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

関数の仕様として出来ない。 合計項目を集めた別表を作って、その別表に対するVLOOKUP検索を行えば良いのでは?

関連するQ&A

  • Excelの関数「VLOOKUP」について質問です

    以下のような表で 1 2 3 51 2 4 1 19 3 8 5 21 4 6 1 24 5 2 7 31 6 4 5 35 7 8 7 60 8 2 3 17 9 4 1 30 A11=空欄 A12=VLOOKUP($A11,$A$1:$D$9,2,FALSE) A13=VLOOKUP($A11,$A$1:$D$9,3,FALSE) とするとき、 A11に「5」と入力すると A12は「2」 A13は「7」になりますよね。 このときに新たにA14に、4列目の値を返すVLOOKUP A14=VLOOKUP($A15,$A$1:$D$9,4,FALSE) A15=任意の数を入れる を作りたいのですが、そのときに検索範囲を、A12,A13に求めた1列目の範囲 つまり2行目から7行目(A2からD7)に、自動的になるようにしたいのですが 検索範囲をどのように設定すればいいでしょうか。 お願いします

  • VLOOKUP関数で検索値について

    VLOOKUP関数で検索値が文字列(数値)でデータ範囲の左端列が数値(文字列)の場合、結果は#N/Aとなります。 どちらかのデータを文字列または数値に変換して一致させなければ結果が得られないのでしょうか

  • Vlookupの応用?

    通常、VLOOKUPを使い、検索する場合は、 =VLOOKUP(検索値,範囲,列位置,検索の型)となると思います。 このうち、検索値と範囲(の左端)、列位置をどこかのセルから取得するにはどのようにすればよいでしょうか? たとえば、 A1セルには1と入力(A列を参照)、B1セルには2と入力(B列を参照)、C1セルには3と入力すると、 A3セル=VLOOKUP(A3,B:Z,3,false) となるようにしたいのですが、どのようにすればよいでしょうか。 お願いします。

  • エクセル VLOOKUPでの複数のデータ抽出

    「表の左端列」で検索する行によって、隣のセルに取り出せるデータの範囲を指定する、 ということは可能でしょうか。 例えば、左端でAを選んだ場合は表のこの範囲から次を選ぶ、 Bを選んだ場合は同じ表の違う範囲から選ぶ、といったようなことです。 普通のVLOOKUPでは1対1、左端で行を選ぶとその行の何列目のデータを取り出すか、 といったことしか出来ないので、それを複数の列の中からさらに選ぶことが出来るように 設定変更したいです。 ご教示よろしくお願いいたします。

  • 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関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • EXCELのVLOOKUP関数について

    EXCELのVLOOKUP関数について教えてください。 例えばA1が○でC1が×のとき、その該当行の3列目を示す というような検索値を2つ満たすようなやり方は可能でしょうか? 範囲、列番号とも検索値1つに対応しているのでvlookup関数を並列することになるのでしょうか? 別の簡単な方法があれば教えてください。 わかりにくい質問で申し訳ございません。よろしくお願いします。

  • vlookup関数詳しい方おしえてください

    vlookup関数で質問です。 関数の説明本などをみると、 検索する値は「左端」でなければならないという記載を見かけ、 例にあがっている図も検索する値がA列になっている場合が多いので、 エクセルシートの「A列」に検索するデータがないといけないと 思っていました。なのでいつも、わざわざ列を入れ替えしていました。 しかし、今日、目からうろこで気が付きました。 絶対A列でなくていいのですよね。 たとえば、検索する値がC列にあるなら、C列を左端にして、 範囲を指定すればいいのですよね。C1:G5など。 お教えください。よろしくおねがいします。

  • VLOOKUP関数の使い

    お世話になります。 VLOOKUP関数を使ってデータを抽出したいですが、検索範囲には文字しか入っていないのに対して検索値には文字や数字が含まれています。 この場合でもVLOOKUP関数をうまく使う方法はないでしょうか。 具体的にいうと:VLOOKUP(検索値、範囲、列番号、検索の型)の 検索値はABC123-45、範囲にABCしかないため検索データが一致していないので抽出できないです。 よろしくお願いします。

  • Vlookup関数で検索結果がエラーになってしまう

    お世話になります。 Vlookup関数の質問となります。 =VLOOKUP(C2,Sheet2!$A$2:$E$685,1,FALSE) 検索値  →リストを使用(元データはSheet2の指定したセル範囲の表の2列目のデータ) 範囲 →Sheet2の特定のセル範囲 列番号 →1(ここは100-01、100-02などの番号が入力されています) 検索方法 →false(完全一致) この式で「#N/Aエラー」が発生してしまいます。 単純に「氏名」から「社員番号」を引っ張りたいだけなのですが、 なんでエラーになるのでしょうか? 範囲に指定した表には空白行はありますが、書式設定などは特に問題はないです。 恥ずかしい質問なのは十分に理解していますが、 教えて頂きたく思います。 よろしくお願い致します。

専門家に質問してみよう