- ベストアンサー
エクセルで・・・・・
- みんなの回答 (5)
- 専門家の回答
その他の回答 (4)
- bunjii
- ベストアンサー率43% (3589/8249)
>以下のような回答お待ちしております。 始めに前回の回答(No.3)の数式に誤りがありましたことをお詫びします。 条件(2)で(D:D+20<B:B)は不等号の向きが逆でした。 =SUMPRODUCT((A:A<D:D)*(A:A-40<C:C)*(D:D+20<B:B)) ↓ =SUMPRODUCT((A:A<D:D)*(A:A-40<C:C)*(D:D+20>B:B)) リンクの質問内容とあなたの質問内容に大きな違いがありますので同様な回答にはなりません。 条件(1)で使う数式を条件(2)と同じにして対象範囲を変化させるにはセル位置の相関性が必要です。 あなたの設問で条件の数式を以下のように置き換えて不等号の向きと加減算の符号を合わせても演算対象は関連性が全くありませんので列の置き換えができません。 条件(1)はA>DでA+40>BとD-20<C→and(A>D,(A+40)>B,(D-20)<C) 条件(2)はA<DでA-40<CとD+20>B→and(D>A,(C+40)>A,(B-20)<D)
- bunjii
- ベストアンサー率43% (3589/8249)
>条件(1)はA>DでA+40>BとD-20<Cのものがいくつあるか and(A:A<D:D,(A:A+40)>B:B,(D:D-20)<C:C)と言う条件で良いでしょうか? >条件(2)はA<DでA-40<CとD+20>Bのものがいくつあるか and(A:A<D:D,(A:A-40)<C:C,(D:D+20)>B:B)と言う条件で良いでしょうか? >コピペで出来る回答お待ちしております。 自分で論理を考えないと進歩しませんがそれで良いのでしょうか? 条件(1) =SUMPRODUCT((A:A>D:D)*(A:A+40>B:B)*(D:D-20<C:C)) または =COUNT(INDEX(0/((A:A>D:D)*(A:A+40>B:B)*(D:D-20<C:C)),)) 条件(2) =SUMPRODUCT((A:A<D:D)*(A:A-40<C:C)*(D:D+20<B:B)) または =COUNT(INDEX(0/((A:A<D:D)*(A:A-40<C:C)*(D:D+20<B:B)),)) Excel 2007以降のバージョンのCOUNTIFS関数では配列または比較値に演算式を使えませんので作業用の列を使わないとカウントできません。
補足
初心者ですみませんが関数をどのように使うかがわかりません。以下のような回答お待ちしております。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14128533894
- Cupper-2
- ベストアンサー率29% (1342/4565)
E列以降にそれぞれの条件を満たせば1と言う感じの数式を記入して下へコピー でいいんじゃない?ってかそれを望んでいるような質問ですね。 それに合わせて回答してみます。 配列関数で一発表示って事もできますが、質問者さんがその意味を理解しなければ意味がありませんので ・・・たぶん理解すらできないような気がするんです・・・ここでは割愛します。 (便利なんですけどね) また、質問文からして条件の表記が間違っているような気がするので、二通りの回答を示してみます。 回答1 A>D and A+40>B or D-20<C A<D and A-40<C or D+20>B として答えてみます。 E1セルに =IF(OR(AND(A1>D1,A1+40>B1),D1-20<C1),1,0) F1セルに =IF(OR(AND(A1<D1,A1-40<C1),D1+20<B1),1,0) で下までコピー E列とF列のそれぞれの合計が条件に一致した数になります。 回答2 A>D and A+40>B and D-20<C A<D and A-40<C and D+20>B として答えてみます。 E1セルに =IF(AND(A1>D1,A1+40>B1,D1-20<C1),1,0) F1セルに =IF(AND(A1<D1,A1-40<C1,D1+20<B1),1,0) で下までコピー E列とF列のそれぞれの合計が条件に一致した数になります。
補足
すべてandでいいですが、ひとつの数式で条件(1)が55個とか、もうひとつの数式で条件(2)が60個とかの一括した抽出がしたいのですが・・・・。 300組くらいのシートが2000位あるので時間的に下段にコピーはできません。
- mshr1962
- ベストアンサー率39% (7417/18945)
>条件(1)はA>DでA+40>BとD-20<Cのものがいくつあるか A>DはAND条件として、A+40>BとD-20<Cのものは AND条件ですか?それともOR条件?それとも個々の件数を求めるのですか? 全部がAND条件の場合 =COUNTIFS(A:A,">"&D:D,A:A,">"&B:B-40,D:D,"<"&C:C+20) 後半がOR条件の場合 =COUNTIFS(A:A,">"&D:D,A:A,">"&B:B-40)+COUNTIFS(A:A,">"&D:D,D:D,"<"&C:C+20)-COUNTIFS(A:A,">"&D:D,A:A,">"&B:B-40,D:D,"<"&C:C+20) 後半が個々の場合 =COUNTIFS(A:A,">"&D:D,A:A,">"&B:B-40) =COUNTIFS(A:A,">"&D:D,D:D,"<"&C:C+20) 条件(2)は単純に上記(1)の式でCOUNTIFS内の条件のBとC,>と<,+と-を入れ替えるだけです。
お礼
初心者の私でもすぐに実行することができました。 丁寧にありがとうございました。