• ベストアンサー
  • すぐに回答を!

エクセル関数

エクセル関数 エクセルのVLOOK関数で Sheet1のB2、C2,D2と、Sheet2のB2,C2,D2が同じ値であった場合,sheet2のE2の値をSheet1のE2に入れたい場合どのような式を書けばいいのでしょうか? 何度もやってみたのですが、うまくいかず教えてほしいです。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数193
  • ありがとう数9

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

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

なぜ、VLOOKUP関数なのかが分かりません。 質問文の要件だけなら↓で出来ます。 =IF(AND(B2=Sheet2!B2,Sheet1!C2=Sheet2!C2,Sheet1!D2=Sheet2!D2),Sheet2!E2,"") VLOOKUPでどうしたいのか分かりませんが、条件は一つしか認識できないので、AND関数等で対応してみてはいかがでしょうか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • エクセルの関数

    エクセルの関数 ですが、 SUMIF を使いたいのです。 シート1の 1行目には 見出しが入っています。 A2~A50に、A店 B店 C店 D店 がランダムに入っています。 B2~B50に、名前が入っています。 C2~C50に、売上の数字が入っています D2~D50に、すべてに 1 が入っています。 E2~E50には、ところどころに 1 が 入っています。 シート2に、SUMIFを使って、E2~E50に入っている 1 の人だけの 各店の合計を出したのですが、どうやったらいいのですか? シート2のA1にはA店 A2にB店 A3にC店 A4にD店 が入っています。 そうすると、シート2のB2には、 =SUMIF(Sheet1!A2:A50,A2,Sheet1!$C$3:$C$50) となるということでいいのですか? ですが、 これは、各店の全体の合計です。 やりたいのは、E2~E50に 1 が 入ってる人のみ 各店の 合計を シート2の B列にだしたいのです。 関数の方法を教えてください

  • エクセル関数について

    エクセルの関数についてなのですが、例えば「セルA3」に「セルB2」の値を表示させるには「=(B2)」と「セルA3」に表示させてます。別のSheetの値も表示できるのでしょうか?例えば「Sheet1.Range("A3")」の値をSheet2のA1に表示させたい場合Sheet2のA1にはどのような関数を入力していけばよいのでしょうか?VBAは使わずに表示したいのですが。関数はまだほとんど使ったことがないので分かる人いたら教えてください。よろしくお願いします。

  • Excel 関数について

    Excel 下記のような場合、どのような関数及び対応したらいいのでしょうか。参考になる、サイトなどありましたら、教えてください。 例 E2に、D2と同じ値のあるセルをA2~C2から探し、同じ値のある、セルの1行上にある数値をE2に返す関数は、あるでしょうか。

その他の回答 (3)

  • 回答No.4

No.1の方の回答で良いと思います。 あまり難しい回答は必要ないかと!

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • mu2011
  • ベストアンサー率38% (1910/4994)

一例です。 VLOOKUPでは複数条件の抽出できませんので。INDEXとSUMPRODUCTの組み合わせです。 =INDEX(Sheet2!$E:$E,SUMPRODUCT((Sheet2!$B$2:$B$4=B2)*(Sheet2!$C$2:$C$4=C2)*(Sheet2!$D$2:$D$4=D2)*(ROW(Sheet2!$A$2:$A$4))))

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • keithin
  • ベストアンサー率66% (5278/7939)

【VLOOKUP関数の使い方のお話】 シート2のA列,A2セルに =B2&"_"&C2&"_"&D2 という式を入れて下向けにずらりコピーしておき シート1では =VLOOKUP(B2&"_"&C2&"_"&D2,Sheet2!A:E,5,FALSE) あるいは =IF(COUNTIF(Sheet2!A:A,B2&"_"&C2&"_"&D2),VLOOKUP(B2&"_"&C2&"_"&D2,Sheet2!A:E,5,FALSE),"") などのようにしてVLOOKUP関数を使います。 このように,VLOOKUP関数の検索値は必ず1つしか出来ません。 シート2のA列が既に使われているというなら,空列をA列に挿入して全体を1列右にスライドしても出来ますし,E列に空列を挿入して今のE列をF列にスライドして,空けたE列にBCD列を一つのデータにする式を埋めても出来ます。 【それ以外のやり方のお話】 上述したようにA列やE列に空列を挿入して表のレイアウトを変更することが,何を置いても耐え難く絶対に認められないという場合。 ○B&C&Dの列を目的値のE列よりもずっと右で空いた列,例えばM列とかに作成し,  =INDEX(Sheet2!E:E,MATCH(B2&"_"&C2&"_"&D2,Sheet2!M:M,0))  のような別の関数の組み合わせを利用する事も出来ます。 ○シート1がB2とC2とD2しかなければ,DGET関数などを使う事も出来ます。 ○E列が数値の時,更にExcel2007以降を利用して,SUMIFS関数でも出来ます。 ●お奨めではありませんが  =IF(SUMPRODUCT((B2=Sheet2!$B$2:$B$100)*(C2=Sheet2!$C$2:$C$100)*(D2=Sheet2!$D$2:$D$100)),INDEX(Sheet2!E:E,SUMPRODUCT((B2=Sheet2!$B$2:$B$100)*(C2=Sheet2!$C$2:$C$100)*(D2=Sheet2!$D$2:$D$100)*ROW(Sheet2!$E$2:$E$100))),"")  のような方法もあります。ちょっと試してみるだけなら構いませんが,この数式を沢山コピーして使おうとしたり,対象のシート2のセル範囲を無闇に広げると,途端にエクセルの計算が遅くなって実用に耐えなくなります。また見慣れない式なので,サンプルをよく見ながら気を付けて作成しないとすぐエラーになります。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • エクセル関数のことで困っています。

    今、簡単な表計算の表を作っていますが、先に進まず困っています。 A1~A200のセルに1~200の番号が昇順で入っています。そしてデータとして,B2,C2,D2,E2 に各々a、b、c、dが入っており,,B3,C3,D3,E3 にa1、b1、c1、d1・・・・・・・・・・・・B200,C200,D200,E200にw,x,y,zのようにB,C,D,E列に適当な数が入っています。 そこで、E列の値で昇順  SMALL(D$1:D$200,A1)  に並べ替え、同時にB,C,D,Eの値も返したいのです。つまりエクセルの並べ替え機能を関数で自動で行いたいのです。 今は、関数の、ROW,SUMPRODUCT,COUNT,INDEX,LARGE,COUNTIF,COLUMN,などを使い関数バーに5行ほどになり、処理にとても時間がかかります。 何とか、簡単で早い計算式はないでしょうか。 よろしくおねがいします。

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

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2&#65374;H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • EXCEL関数について

    EXCEL関数について Sheet1、A1~A1000セルに「1~10」までの値がランダムに入力されております。 数字は「グループ1」、「グループ2」・・・という意味です。 B列、B1~B1000セルには「1~4」までの値がランダム入力されております。 B列については、空白のセルもあります。 Sheet2、A1~A10セルに、「1~10」までの値、「グループ1」~「グループ10」までが順に入力されております。 ここで、Sheet2、B列~E列、それぞれの1~10セルを使用し、、 それぞれの「グループ」がSheet1にて「1~4」の値をいくつずつ選んでいるか算出したいのです。 「グループ1」について、「1」のカウントはB1セル、「2」のカウントはC1のセルに返します。 同じように「グループ2」はB2~E2のセルに、「グループ3」はB3~E3のセルに値を返したいのです。 「COUNTIF」等の関数でいろいろと試してみたのですがうまく反映されません。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • 関数式ができません。

    ((5*A24*B24)/(32*D24*E24))*(L/2)^4^(1/3) そのままエクセルのセル式をいれてしまいましたが、 このままだとエラーがでます。 求めたい公式は 3√ 分子 5*A24*b24    分母 32*D24*E24 分子分母 * (L/2)^4 のつもりで一番上の計算式を入れたのですが、何が違いますか?教えて下さい。 以前ここで似たような式をお伺いしてそれを参考にさせて頂いたんですが、今伺おうとしている分に関してはエラーが出てしまい、何が違うのか、わかりませんので、お手数ですが、お願い致します。

  • EXCEL関数 一覧から週計データを導き出したい

    Sheet1に1売上商品1行のデータが年間通しで並んでいます。 Sheet2に1日1行の週計データを表示したのですが。 Sheet2の [B2]以下の列に入れる関数 Sheet2の [C2]以下の列に入れる関数 Sheet2の [D2]以下の列に入れる関数 Sheet2の [E2]以下の列に入れる関数 を教えてください。 ================ Sheet1 売上入力表 Sheet2 日別売上集計表 画像添付しています

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

    エクセルのVLOOKUP関数について。 教えて頂きたいです。 sheet2に商品マスターがあり、タイトルとしてセルA1に品目コード、B1に品名、C1に会社名、D1に県名、E1に個数と入力してあります。 sheet2のA2には111、B2にはいちご、C2にランド、D2に埼玉県D3に山梨県、E2に100個、E3に200個、E4に300個 と入力してあります。 sheet1のA2に111と入力し、B2にいちご、C2にランド、D2に埼玉県、D3に山梨県、E2に100個、E3に200個、E4に300個と表示させることは可能でしょうか? 県名に対して2個、個数を3種類持っているのです。出来ればVLOOKUP関数でお願いしたいのですが、他の関数でも構いません。 自分で色々検索し、下の行のセルの値を返す等の記事を見たのですが、いまいち理解できずにいます>< 尚、sheet2の商品マスターは作り直せず、手をつけることも出来ません。(私には権限がない為) sheet2の商品マスターのデータは膨大(約1400行)である為。 222(品目コード)、ぶどう(品名)、遊園地(会社名)、東京(県名)、50個(個数)、 333(品目コード)、みかん(品名)、ドーム(会社名)、千葉(県名)、100個(個数)、200個(個数) と、ぶどうは個数が1種類 みかんは個数が2種類 など、ランダムに商品マスターが作成してあります。 説明が下手ですみません><

  • IF関数の複数条件

    D2のセルに計算式B2+C2が入力されているんですが、 E2のセルに●か▲のどちらか一つが入力されたときにD2のセルの式をB2*C2に切り替えたいです。 この場合のif関数の式を教えてください。

  • EXCELの関数式(INT,MOD)で教えて下さい

    下図のようなEXCELの表があります。 金種計算で、1行目は1万円、5千円、千円・・・10円と入っており、 A2は計算したい金額(97810)を入れています。 B2セルの式=INT($A2/B1)、C2セルの式=INT(MOD($A2,B1)/C1)で、C2セルの式はD2~H2に複写しています。 EXCELで得た計算結果(2行目)は正しいと思うのですが、 D2,F2,H2の計算結果と、自分で計算した結果があいません。 ここを詳しく教えて頂けないでしょうか。 宜しくお願い致します! INT関数:整数部を返す MOD関数:剰余を返す  |  A  |  B |  C |  D |  E |  F |  G |  H | 1|   |10000| 5000| 1000| 500| 100|  50 |   10| 2|97810|   9|   1|   2|    1|   3|   0|   1| B2は、98710÷10000=9.7810→整数部を返すので「9」 C2は、97810÷10000=9.7810→剰余7810÷5000=1.562 →整数部を返すので「1」 D2は、97810÷5000=19.562→剰余562÷1000=0.562 →整数部を返すので「0」??? E2は、97810÷1000=97.810→剰余810÷500=1.62 →整数部を返すので「1」 F2は、97810÷500=195.62→剰余62÷100=0.62 →整数部を返すので「0」??? G2は、97810÷100=978.10→剰余10÷50=0.2 →整数部を返すので「0」 H2は、97810÷50=1956.2→剰余2÷10=0.2 →整数部を返すので「0」???

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • Excelの関数でマイナス値の場合は加算しないように設定する式は?

    Excelの関数でマイナス値の場合は加算しないように設定する式は? Excel(2007)で、 セルB1=A1+B2 という計算で、下の行も同じように設定します。 つまり、   C1=B1+C2   D1=C1+D2    …… 今回の累積値=前回の累積値+今回の値 という式ですが、今回の値がマイナスの場合は、加算(マイナスなので結果として差し引く)ことをしないため、マイナス値の場合は今回の値を加算しない、または0とみなすようにしたいのですが、どのように設定すればよいでしょうか。 プログラムでは条件分岐で2つ目の変数が0未満の場合は0というような処理ができそうですが、Excelでマクロなど使わずに簡単に設定できる方法はないでしょうか。