• 締切済み

複数条件に合致する場合のみセルを参照する

複数条件に合致する場合のみセルを参照する関数式を探しています。   A B C 1 みかん イ 5 2 りんご ロ 3 3 いちご イ 2 4 みかん ニ 8 5 りんご ホ 6 上記のような表があって別シートに   A B C 1 みかん イ  と入れるとC1に『5』が参照値として表示されるような関数です。 複数の関数を組み合わせれば出来そうな気がするのですがわかりません。 どなたか教えて下さい。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

例データ A1:C7 品名 種類 数量 みかん イ 5 りんご ロ 3 いちご イ 2 みかん ニ 8 りんご ホ 6 みかん イ 10 ->わざとこの行を加えた ーーー F1:H2に 品名 種類 数量 みかん イ のように項目名と条件を入力する。 ーーー H2に =DSUM(A1:C7,"数量",F1:G2) と入れる。 結果 品名 種類 数量 みかん イ 15 上記では、条件合致行が2つ以上あると足されますが、1行しかない場合は使えるかも知れない。本来は複数条件合致行の合計を出す関数です。 別シートのSheet2で=DSUM(Sheet1!A1:C7,"数量",A1:B2)も答えが出ました。

tanityuu
質問者

お礼

回答ありがとうございます。 教えていただいた関数でさらに質問なのですが、この関数で検索する行が増えても検索できるのでしょうか? 例えば、 りんご イ みかん ロ りんご ホ というような複数行がある場合です。 教えていただいた関数でCriteriaの欄に2行目以降の検索はどのように入力するのかがわかりません。 申し訳ありませんがよろしくお願いします。 なお、条件合致行は1行しかありません。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆複数条件に合致するものが、複数ない場合 C1=INDEX(Sheet1!$C$1:$C$10,SUMPRODUCT((Sheet1!$A$1:$A$10=A1)*(Sheet1!$B$1:$B$10=B1)*ROW($1:$10))) ◆複数条件に合致するものが、複数ある場合 C1=IF(ROW(A1)>SUMPRODUCT((Sheet1!$A$1:$A$10=$A$1)*(Sheet1!$B$1:$B$10=$B$1)),"",INDEX(Sheet1!$C$1:$C$10,SMALL(INDEX(SUBSTITUTE((Sheet1!$A$1:$A$10=$A$1)*(Sheet1!$B$1:$B$10=$B$1),0,10^5)*ROW($1:$10),),ROW(A1)))) ★下にコピー

tanityuu
質問者

お礼

回答ありがとうございます。 早速やってみたところ目的のセルが参照できました。 実際使っているファイルに応用できるよう、教えていただいた関数を理解し、使ってみようと思います。 ありがとうございました。

tanityuu
質問者

補足

質問者の[Tanityuu]です。 すいません。この欄に追加の質問をさせていただきます。 いろいろと自分なりに調べているのですが、そうしても、教えていただいた関数の上の方の関数で、SUMPRODUCT((Sheet1!$A$1:$A$10=A1)*(Sheet1!$B$1:$B$10=B1)*ROW($1:$10)の部分の意味がわかりません。 Sumproduct関数でどうして配列をかけて最後にROW関数で行数をかけるのかがわからないのです。 とんちんかんな質問かもしれませんが、教えて下さい。 よろしくお願いします。

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.3

1番です。 訂正です。前のは忘れてください(^_^;) Sheet1の1列目を追加して A1に「項目A」、B1に「項目B」、C1に「項目C」と入れます。 Sheet2にも A1に「項目A」、B1に「項目B」、C1に「項目C」と入れます。 そして Sheet2のC2セルに =DGET(Sheet1!A1:C6,3,Sheet2!A1:B2) と入れます。 Sheet2のA2、B2に「みかん」「イ」と入れればC2に「5」がでます。 こんどはいかがでしょうか?

tanityuu
質問者

お礼

回答ありがとうございます。 早速やってみたところ、目的のセルが参照できました。 ありがとうございました。 実際の利用では列Cが列A,Bと離れて存在します。 (データベース上ではF列、参照シートではG列) ですので、教えていただいた関数で列が離れてもできるかどうかやってみます。 ありがとうございました。

  • mysticage
  • ベストアンサー率32% (52/158)
回答No.2

みかん とか、りんご とかの左方向側に1列追加して、  =CONCATENATE(A2,B2) ※A列 品名列、B2 は イロハの列  という式をいれ、 みかんイ、りんごロ とかAB列を結合した文字列を作って、検索キー として、別シートの方も同様の列を作りそれをVLOOKUPで別シート側から検索するとか。

tanityuu
質問者

お礼

早速の回答ありがとうございます。 ベータベースとなる表、セルを参照する表のフォームが出来てしまっているので列は追加しない方法で行いたいと思っています。

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.1

はじめまして ちょっと手を加えてもいいでしょうか? Sheet1のD1に =A1&B1 E1に =C1 をいれて、D1とE1を必要なだけ下にコピーします。 そしてD列を基準に昇順で並び替え(ソート)します。 これが下準備です。 Sheet2のC1セルに =VLOOKUP(A1&B1,Sheet1!D1:E5,2,FALSE) を入れれば目的は達成できます。 ただ、手を加えますので、貴殿の目的に完全に合うかは自信ありません。 ご参考になれば幸いです。

関連するQ&A

  • Excelで複数条件で抽出した複数データを出力

    Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果

  • エクセル関数:複数の条件の合う数値の合計

    可能かどうかもわかりませんが。。。 納品の量を管理するためにエクセルを利用したいと考えております。 Sheet1   A   B    C     D   E   ............ 1 出荷先 納品日 りんご みかん いちご ----------------------------------------- 2倉庫  12.01  10    0    5 3八百屋 12.02  0     4    3 4お店ア 12.05  3     2    8 5顧客A  12.03  3     5    0 6顧客B  12.05  0     15    0 7お店イ 12.02  2     2    2 . . . . >>>>>>>>>>>>>>>>> Sheet2 A    B    C    D  ............ 1納品日 りんご みかん いちご ----------------------------------------- 212.01 312.02 412.03 512.04 612.05 . . . Sheet1に入力した内容を、Sheet2で管理できないものかと考えております。 例:Sheet2のセルB2に「12月1日」の「りんご」の納品予定数を表示できないものでしょうか。即ち、Sheet1より「12月5日」の「みかん」の納品数は「2」+「15」で17と関数で計算する方法はないものでしょうか。 VLOOKUPやSUMIFSなどをが使えるのかとも考え、色々と調べてみましたが、どうしてもうまくいきません。 どうぞ宜しくお願い致します。

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • ×または空白のセルを繰り上げて表示する(エクセル)

       果実シート                  まとめシート      A   B    C         A    1  いちご  林檎  ミカン          2   ○   ×    ○ 3   4  イ 5  ロ 6  ハ 2行目には○か×か空白が入ります。空白は×と同じです。(以下×という定義は「×または空白」という意味とします。) ・4行目イの欄=A2が○であれば「いちご」を。A2が×でありB2が○であれば「林檎」を。A2、B2が×でありC2が○であれば「ミカン」を ・5行目ロの欄=A2が○でB2が○であれば「林檎」を。A2が○でB2が×、C2が○であればミカンを。A2が×、B2が○、C2が○の場合はミカンを。 ・6行目ハの欄=すべて○の場合だけミカンを。 つまり、×または空白表示の場合は、順次繰り上げて表示する方法についてご教示ください。 4行目は=if(a2="○",a1,if(b2="○",b1,if(c2="○",c1)))ということでOKだと思いますが、5行目6行目がどうしてもわかりません。 マクロをメンテナンスできる人間がいないため、ifやandなどの関数だけでお願いします。 また、このイロハの部分を別の「まとめシートに」リンクさせ、これをVLOOKUP($G$2,まとめシート!A1:R50,1,FALSE)という形(G2は任意の数字を入れる場所)でさらに別のシートへリンクすることは可能でしょうか。 エクセルバージョンは2002です。

  • VLOOKUPのような検索で複数ヒットしたら全て抽出したい

    Sheet1      A    B       1. 600円 イチゴ       2. 550円 みかん       3. 380円 イチゴ       4. 400円 りんご       5. 650円 イチゴ       6. 250円 りんご Sheet2      A ......B........C..........D..........E       1. イチゴ 600円 380円 650円       2. みかん 550円       3. りんご 400円 250円 Sheet2のA1イチゴでSheet1のB列検索して、ヒットしたA列の値段をSheet2のB1に表示する。この時、検索結果が複数あった場合、2個目をC1 3個目をD1に表示する。(max10個入れたいです) 次はA2のみかんで検索する。 イチゴのような種類が2000個あるので関数で自動検索したいのですが よろしくお願い致します。

  • 複数シートにおける複数条件のセルのカウント

    困っています、教えて下さい!! 5枚のシートがあり、複数の条件に当てはまるセルをカウントしたいのですが、どうしたらいいでしょうか? ------------------------------------------------------------ シート1(りんご) A商店 4/1 ○ B商店 4/6 ○ A商店 4/25 × A商店 5/3 ○  つづく ------------------------------------------------------------- シート2(みかん) A商店 4/6 × A商店 4/15 ○ C商店 4/28 ○ B商店 5/7 ×  つづく ------------------------------------------------------------- たとえば上のような表を日々入力し、    4月件数 4月○ 5月件数 5月○ ・・・・・・ A商店    4   2     1   1 B商店    1   1     1    C商店    1   1 というような集計の表をつくりたいのです。 関数のSUMPRODUCTやCOUNTIF、ピボットテーブルなど 考えてみましたが、うまくいきません・・・ よろしくお願いしますm(_ _)m

  • excelで1つのセルに複数の値を返す方法はありますか?

    おせわになっております。 excelで質問です。 excel関数でもVBAでもいいのですが、1つのセルに複数の値を返す方法はありますでしょうか?? たとえばVLOOKUP関数だと1つのセルに1つしか返せませんよね?? a=りんご b=バナナ c=すいか d=いちご e=キウイ と設定したしたとして、 a,c,dと入力すると→りんご,すいか,いちご とすべて1つのセルに出るようにしたいのです。りんご,すいか,いちごという値にしたいので、それぞれを別々のセルに入れることはしたくありません。可能でしょうか?? よろしくお願いいたします。

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • 複数のシートのセル参照について

    Excelで複数のsheetのセル参照についてお伺いします。 たとえばsheetが1から50まであるとします。 sheet1のA1のセルには、sheet2のA1のセル参照、 sheet1のA2のセルには、sheet3のA1のセル参照、    ↓ sheet1のA49のセルには、sheet50のA1のセル参照、 といった複数のシートのセル参照を行いたいと思います。 sheet1のA1のセルに、sheet2のA1のセル参照の値を入力して、フィルハンドルでドラッグしても連続したデータができません。 簡単な操作で、複数のシートのセル参照をするにはどうしたらよいでしょうか。 よろしくお願いいたします。

  • 2枚のシート キーが合致する場合印付ける

    2枚のEXCELシートで、双方の[あるキー]が合致するものだけ色付け(マークを付ける)する方法はありますか? 例えば以下です。 シート1 項目 イ ロ ハ 二 A社 3a ~ A社 2a ~ B社 7b ~ A社 6c ~ シート2 項目 ラ ロ ワ A 2a ~ B 6c ~ C 4d ~ この場合のキーを項目[ ロ ]の値とした場合、重なるのは、2aと6cです。 シート1の2aと6bにマークを付けることはできますでしょうか? 例が分かりづらくなってしまいましたが、 分かる方いらっしゃいましたら、方法をどうかご教授下さい。

専門家に質問してみよう