• ベストアンサー

★エクセルの表計算★

エクセルで複数の条件を例えば縦のB列の範囲で『黒』、別の縦のG列の範囲で『木村』の両方の条件を満たした数を一つのセル、または、複数のセルに返すにはどうしたら良いのですか・・・? 困っています、教えて下さい。

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.4

再びこんばんは! >照範囲が一つづつ((B2:B100="黒")*(G2:G100="木村")) >が((B3:B101="黒")*(G3:G101="木村"))とずれるのです >が、ずれないようにするにはどうしたらよいのでしょう >か…? 数式をコピーしても参照範囲を変化させない手段としては セル座標を絶対参照型にすることになります 例では  ((B2:B100="黒")*(G2:G100="木村"))   ↓  (($B$2:$B$100="黒")*($G$2:$G$100="木村"))  設定方法は、 ・数式入力時にセルを選択した時点で F4キー ・既に入力済みであれば  数式バー上で 対象範囲を選択して F4キー です。 具体的例   I  J  K 1 黒 木村  式 2 白 加藤  ↓ 3 青 青木  ↓ 4 赤 佐藤  ↓ 5 黄 伊東  ↓ セルK1に式  =SUMPRODUCT(($B$2:$B$100=I1)*($G$2:$G$100=J1)) 必要行なで複写

その他の回答 (4)

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

既に回答されている中に、エクセルのデータベース関数に分類されている「DCOUNTA」の利用に付いて出ていないので、出して見ます。「DCOUT」も別にありますが、Aのついた方です。簡単な実例を示します。 (1)第1行A、B、C列に、A1に氏名、B1に住所、  C1に職業と入力  します。   氏名  住所  職業 (2)第2行、第3行には何も入れないで先に進みます。   後で入れます。 (3)第4行目に第1行の「氏名  住所  職業」を複   写します。 (4)第5行以下A5:C12の範囲に下記データを入力  します。 山田  東京都   会社員 大山  千葉市   公務員 北野  大阪市   弁護士 大野  札幌市   商店主 小川  東京都   会社員 下村  神戸市   会社員 本田 東京都 会社員 佐藤 神戸市 会社員 (5)B2に「="東京都"」、C2に「="会社員"」と検  索条件を入れる。 「=」と「”」は半角で入力のこと。 (6)例えばA14に「=DCOUNTA(A4:C1   2,A4,A1:C2)と入力する。=、英数字、記  号は半角で入力する。結果は全角に変わるけれども。       A14・・・・・・条件を満たした人数を表示した   いセルでどこでも(A1:C12以外なら)良い。     A4:C12・・・「項目見出しも含めて」のデー   タのある範囲を指定する。    A4・・・・・・・今回は係数を合計するDCOU   NTでないので見だしのA4,B4、C4のどれで   も良い様である。    A1:C2・・・条件(Criteria)が入っ   たセルの範囲。「項目見出しの入ったセル」も含め   ること。)(「・・かまたは」でB3に「="東京     都"」、C3に「="公務員"」を入れる時は A1:C3となる。)     条件判断する時「住所」や「職業」の項目名を     エクセルシステムが使うから。上記(3)で入力せ   ず、「複写」した方が良いのは項目名の入力ミスを   防ぐため。 B2とC2のように条件が横に並ぶと、B2と    C2は「AND条件」で検索します。(本例とは     別例としてB3に新たな条件をいれると、B2とB    3は「OR条件」になります。)  これで、A14に「東京都に住んでいて、会社員」の数(2人)が出ます。 「DCOUTA」は雑誌のエクセル特集に取り上げられている有名な関数ですが、ヘルプなどの解説がわかりにくいと思い丁寧な注釈を心がけました。    

kohjikohji
質問者

お礼

細かく分かりやすい説明、有難うございます。 私には少し高度ですが一度試させていただき活用致します。 またお世話になると思いますので宜しくお願い致します。

  • mozniac
  • ベストアンサー率23% (21/88)
回答No.3

No.1の回答で不備がありました。 そのままだと、1行B列に「黒木」G列に「村」でも、あほ と返してきて、ふつう にはならないので... 例えば、 1行 H列に=IF(B1="黒","青","0") I列に=IF(G1="木村","名字","0") J列に=IF(H1&I1="青名字","あほ","ふつう") とすれば、完璧!?

  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんばんは >または、複数のセルに返すにはどうしたら・・・ この部分は理解できないのですが >縦のB列の範囲で『黒』、別の縦のG列の範囲で『木村』 >の両方の条件を満たした数 であれば 例えばデータ行が2行~100行目なら  =SUMPRODUCT((B2:B100="黒")*(G2:G100="木村")) で試してみて下さい

kohjikohji
質問者

お礼

回答有難うございます。 良く分かりました。また判らない事がありましたらお願い致します。 追加の質問にも答えて頂き恐縮です。

kohjikohji
質問者

補足

追加ですが、その数式を他のセルのコピーした時に、基本的な質問でしょうけど、参照範囲が一つづつ((B2:B100="黒")*(G2:G100="木村")) が((B3:B101="黒")*(G3:G101="木村"))とずれるのですが、ずれないようにするにはどうしたらよいのでしょうか…?

  • mozniac
  • ベストアンサー率23% (21/88)
回答No.1

=IF(B1&G1="黒木村","あほ","ふつう") 1行目B列に「黒」、G列に「木村」を入れたとき、この関数を入れたセルには あほ と返してきます。もちろんB列G列にほかのデータを入れたときは、ふつう と返してきます。

kohjikohji
質問者

お礼

早速のご回答有難うございます。 少し私の聞きたかった内容とは違いましたが私の質問の仕方が悪かったのが原因ですね。 またお世話になるかもしれませんが宜しくお願い致します。

関連するQ&A