プロが教えるわが家の防犯対策術!

画像のような内容の集計をしたいです。
いろいろ検索してみましたが、見つかりませんでした。
どうかご教示ください。

excel2007と2016を持ってます。
結果としてこのような内容を見やすく表示できれば方法は問いません。

「AとBを比べて、小さいほうの値を個数分カ」の質問画像

A 回答 (3件)

作業列とD7:D10の条件部分を分けることでSUMIFS関数で


処理できます。

上の表に作業列としてH列にMIN関数で小さいほうを出し、
下の表のD列を数値のみで超と以下を分けます。
D7:D10はセルの書式設定で「0"超";;0"以上"」を指定。
E7:E10はセルの書式設定で「0"以下"」を指定します。

F7セルに
 =SUMIFS(F$2:F$5,$H$2:$H$5,">"&$D7,$H$2:$H$5,"<="&$E7)
を記載し、G10までオートフィルで数式を設定します。

添付画像では下の表のD列とE列が罫線で区切っていて、
別々に見えますが、なしにすれば繋がって見えます。
「AとBを比べて、小さいほうの値を個数分カ」の回答画像1
    • good
    • 0
この回答へのお礼

求めていた解を得られ、とても嬉しいです。
お二人ともありがとうございました!
セルの書式設定がよく分らなかったので戸惑いましたが、
最初にアンサー頂いた方をベストアンサーにさせて頂きます。

お礼日時:2023/02/07 23:43

ご質問者の掲示された表には矛盾があります。


縦100横300は小さいほうの100をとって0以上100以下にカウントするという説明ですので、縦100というのは100を超えないことを意味します。
ところが縦300横400は小さいほうの300をとって300超400以下にカウントすることになると縦300というのは300を超えることを意味することになり、上記と矛盾します。
また、ご質問者のお示しになった表は区分範囲が連続しておらず、200超300以下という区分がありません。
これらの問題を勝手ながら修正して、表を作成してみました。

添付画像をご覧ください。

F7に

=SUMPRODUCT((($D$2:$D$5)*($D$2:$D$5<=$E$2:$E$5)+($E$2:$E$5)*($E$2:$E$5<$D$2:$D$5)>D7)*(($D$2:$D$5)*($D$2:$D$5<=$E$2:$E$5)+($E$2:$E$5)*($E$2:$E$5<$D$2:$D$5)<=E7)*($F$2:$F$5))

という数式を記述し、下方向へコピーしています。

さらに、G7セルに

=SUMPRODUCT((($D$2:$D$5)*($D$2:$D$5<=$E$2:$E$5)+($E$2:$E$5)*($E$2:$E$5<$D$2:$D$5)>D7)*(($D$2:$D$5)*($D$2:$D$5<=$E$2:$E$5)+($E$2:$E$5)*($E$2:$E$5<$D$2:$D$5)<=E7)*($G$2:$G$5))

という数式を記述し、下方向へコピーしています。

enunokokoroさんの説明と同様「0以上100以下」の条件部分は上記説明のとおり、矛盾しないよう「0超100以下」と解釈しています。
また、D7:D11の部分には「0"超"」E7:E11の部分には「0"以下"」という書式設定を行っています。
これで、ご質問者のご希望に沿った表が作成できると思います。
なお、200超300以下という区分が漏れていたわけではなく、200超400以下という区分が正しいという場合はE10セルの値を400に修正し、11行目を削除してください。
「AとBを比べて、小さいほうの値を個数分カ」の回答画像3
    • good
    • 0

No.1の回答者です。



「0以上100以下」の条件部分ですが、縦横どちらかが「0」に
なる場合、存在しないものとして無視しています。
「0超100以下」であるなら、問題なく重量もあるものとして、
$H$2:$H$5,">"&$D7で処理しています。
表記上「0以上100以下」にしていますが、縦横どちらかが「0」
として存在するのなら、条件を加える必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!