[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『COUNTIF』(へみ)
検索条件を2つにすることはできますか?
内容によるでしょうが、基本的には出来ると思います。 具体的な例を挙げられたほうが、回答が得られやすいですよ。 (川野鮎太郎)
すいません。 こんな感じのデータを(実は100列くらいある・・・) @ A B C A社 ○ × ○ △ B社 × ○ × ? C社 △ ? ○ × D社 ○ △ △ × A社 △ ○ × ○ D社 × △ ○ × C社 ○ × △ ○
@=A社の○は何個 @=A社の×は何個 @=A社の△は何個 @=A社の?は何個 @=B社の○は何個 ・ ・ ・ C=D社の?は何個
としたいんですけど・・・
いっぺんに計算しないで各行の記号をそれぞれCOUNTIFで 計算してから、SUMIFでA社の○、A社の×・・・と計算 するのが簡易に思えます。 (KAMIYA)
SUMIFで質問なんですけど、 範囲は元データ(100列の・・・) 検索条件は会社名で SUMIFはCOUNTIFの計算式の答えであっていますか?
KAMIYAさんの言われるのは、分けて計算だから以下のような感じではないでしょうか。
A B C D E F G H I J 1 A社 ○ × ○ △ 2 1 1 0 2 B社 × ○ × ? 1 2 0 1 3 C社 △ ? ○ × 1 1 1 1 4 D社 ○ △ △ × 1 1 2 0 5 A社 △ ○ × ○ 2 1 1 0 6 D社 × △ ○ × 1 2 1 0 7 C社 ○ × △ ○ 2 1 1 0 8 9 ○ × △ ? 10 A社 4 2 2 0 11 B社 1 2 0 1 12 C社 3 2 2 1 13 D社 2 3 3 0
G1=COUNTIF($B1:$E1,G$9) として、J7までコピー G10=SUMIF($A$1:$A$7,$F10,G$1:G$7) として、J13までコピー
違ってたらすいません。 (川野鮎太郎)
モデル(@、A、B・・・) も区別したいんですけど・・・ (へみ)
(*'ω'*)......ん? 比較したいものをセルに入力して、上記の式の参照先を少し変えるだけで良いんでは? F G H 20 @=A社の○は何個 A社 ○ G20=SUMIF($A$1:$A$7,$F20,G$1:G$7) 21 @=A社の×は何個 A社 × 以下コピー 22 @=A社の△は何個 A社 △ 23 @=A社の?は何個 24 @=B社の○は何個 ・ ・ ・ 25 C=D社の?は何個 D社 ?
(川野鮎太郎)
頭が悪くですいません。 ゴチャゴチャになってきてしまいました。 よかったらもう一度教えてもらえませんか?
こんな感じのデータを(実は100列くらいある・・・) A B C D E モデル@ モデルA モデルB モデルC 1 A社 ○ × ○ △ 2 B社 × ○ × ? 3 C社 △ ? ○ × 4 D社 ○ △ △ × 5 A社 △ ○ × ○ 6 D社 × △ ○ × 7 C社 ○ × △ ○
最終的に ↓ここ! モデル@ モデルA モデルB モデルC・・・ A社 ○ 1 2 0 2 × 1 3 1 2 △ 0 0 1 2 ? 5 2 0 1 ってしたいんです。
上の最終的な結果はあってますか? A社で○でモデル2は、1個ですよね。 =SUMPRODUCT(($A$2:$A$8=$A$17)*1,(B$2:B$8=$B17)*1) ~~~~~A社 ~~~~○ (川野鮎太郎)
最終的な結果はあってません。すいません。 A17とB17ってどこですか? (へみ)
う〜ん(/-_-\) ~~~~A社 としてるのは、私が試したセルがA17なので へみさんの表のA社のセルに変えてもらおうとマークしたつもりでした(^_^A; 上のここ!の部分 (川野鮎太郎)
きゃー出来ました。 ありがとうございました。 本当に感謝感激です。 また、お願いします。 (へみ)
(へみ)
Σ(- -ノ)ノ エェ!? 私に意味を聞くのですか?_/ ̄|○ il||li 私は説明と解説が一番苦手なのに(^_^A;
SUMPRODUCT関数は、配列の積の合計を出すものです。(詳しくはエクセルのヘルプ参照) それを利用して、A列がA社の行と一致した行、且つB列が○の行と一致したものを掛けています。 説明はこれぐらいで勘弁してください_/ ̄|○ il||li (川野鮎太郎)
最近はずしまくっているKAMIYAです。 おわびに数式の説明ぐらいはさせてください。 SUMPRODUCT関数 配列(行列)同士の積和を行う関数です。 積和とは掛け算を行った後、その掛け算の答えを足していく計算をさします。 =SUMPRODUCT({1,2},{3,4})ですと、{1,2}と{3,4}の二つの配列の積和をします。 実際の計算はそれぞれの配列の第一項、第二項同士を掛け算し(1*3 と 2*4) その答えを加算していきます。(3+8=11) =SUMPRODUCT(($A$2:$A$8=$A$17)*1,(B$2:B$8=$B17)*1) 川野さんのこの式は論理式とSUMPRODUCT関数の組み合わせということになります。 ($A$2:$A$8=$A$17) の部分は 「$A$2:$A$8の範囲の値はそれぞれ$A$17と等しいか、否か」を判断する「論理式」です。 結果は等しければTRUE、否ならFALSEが返ります。 ($A$2:$A$8=$A$17)の部分ではTRUEとFALSEの配列になります。 数式を入力した状態で数式バーにて($A$2:$A$8=$A$17)の部分をマウスなどで選択、 反転表示させた上で F9 キーを押すことで計算結果(配列)の状態が確認できます。 (この場合、Enterを押してしまうと計算結果が固定されてしまうので Escキーで部分計算の処理をキャンセルして抜けてください。) TRUE、FALSEの論理値を引数に与えた状態ではSUMPRODUCT関数はうまく計算できませんので、 *1で論理値の配列を数値の配列に変換します。 TRUE、FALSEの配列が、1、0の配列になります。結果的に($A$2:$A$8=$A$17)*1 の数式は$A$2:$A$8が$A$17と等しいかどうかによって、1か0かの配列になります。 (B$2:B$8=$B17)*1についても同様です。 A B モデル@ 2 A社 ○ 3 B社 × 4 C社 △ 5 D社 ○ 6 A社 △ 7 D社 × 8 C社 ○ この部分でだけ考えますと、 ($A$2:$A$8=$A$17)*1 は$A$17がA社であるとき {1;0;0;0;1;0;0} (B$2:B$8=$B17)*1 は$B17 が○ であるとき {1;0;0;1;0;0;1} この二つの積は 1*1=1 0*0=0 0*0=0 0*1=0 1*0=0 0*0=0 0*1=0 つまり、{1;0;0;0;0;0;0}という配列になります。 SUMPRODUCTは最終的にこの配列の数字をすべて足し算するので 1+0+0+0+0+0+0=1 という計算結果になります。 (KAMIYA)
KAMIYAさん、大きなフォローありがとうございますREPT("m(_ _)m",100) さすがとしか言いようの無い見事な説明で良くわかります。^^ 自分で提示しておきながら、(・0・*)ホ,(゜0゜*)ホ--ッッ!!!と納得(^_^A; 今後ともよろしくお願いします。 (川野鮎太郎)
おはようございます。 とても良くわかりました。 ありがとうございます。 またよろしくお願いします。 (へみ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.