エクセルで、次のような値を求める計算式を教えてください。

(例)
A列(A1:A10)には種類を示す変数として甲、乙、丙が入ってきます。
B列(B1:B10)には数値が+n、±0、-nのいずれかが入ってきます。

C1に甲のうちB列の数値が0以上になったものの個数
C2に甲のうちB列の数値が0以上になったものの合計
C3に甲のうちB列の数値が0より小さく(マイナス)なったものの個数
C4に甲のうちB列の数値が0より小さく(マイナス)なったものの合計

を出す方法です。同様に、乙と丙についても算出します。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2010/02/08 11:17:15
  • 終了:2010/02/08 14:30:02

ベストアンサー

id:gotovip No.1

gotovip回答回数118ベストアンサー獲得回数262010/02/08 11:56:40

ポイント60pt

条件を少し変えさせてください

A      B      C     D
条件	値	条件	値
甲	2	甲	>0
乙	5		
甲	1	条件	値
乙	-5	甲	<0
甲	-4		

とし、A,Bにデータを入力、C,D列に検索条件を書きます


E1:C1に甲のうちB列の数値が0以上になったものの個数

=DCOUNT(A1:B6,B1,C1:D2)

E2:C2に甲のうちB列の数値が0以上になったものの合計

=DSUM(A1:B6,B1,C1:D2)

E4:C3に甲のうちB列の数値が0より小さく(マイナス)なったものの個数

=DCOUNT(A1:B6,B1,C4:D5)

E5:C4に甲のうちB列の数値が0より小さく(マイナス)なったものの合計

=DSUM(A1:B6,B1,C4:D5)


C列、D列に条件を指定してやればE列に変化があるようになります

複数条件はデータベース形式(Dが頭につく式)でないと無理があると思うので、C,D列の条件が必要になります

必要なければ列を非表示にしてください

※テストなので、行数は必要なものに変更してください

id:harakiri2

ありがとうございます。何とかできました。

2010/02/08 14:29:52
  • id:gotovip
    ごめんなさい 「0以上」が頭から抜けてました
    D2は「>=0」になるべきですね

    それから表のほうも不親切でごめんなさい
    列番号だけでなくて行番号も書けば幾ばくか解りやすかったかもしれません…
  • id:SALINGER
    >複数条件はデータベース形式(Dが頭につく式)でないと無理
    とあったので

    SUMPRODUCTか
    =SUMPRODUCT((A1:A10="甲")*(B1:B10>=0))
    =SUMPRODUCT((A1:A10="甲")*(B1:B10>=0)*B1:B10)
    =SUMPRODUCT((A1:A10="甲")*(B1:B10<0))
    =SUMPRODUCT((A1:A10="甲")*(B1:B10<0)*B1:B10)

    配列数式でできます。
    {=SUM(IF((A1:A10="甲")*(B1:B10>=0),1,0))}
    {=SUM(IF((A1:A10="甲")*(B1:B10>=0),B1:B10,0))}
    {=SUM(IF((A1:A10="甲")*(B1:B10<0),1,0))}
    {=SUM(IF((A1:A10="甲")*(B1:B10<0),B1:B10,0))}

    ※私を含め多くの回答者が間接回答拒否の設定をきつくすると答えられないので質問するときは気をつけたほうがいいよ。
  • id:harakiri2
    >gotovip様
    自力でやってできたので大丈夫です。ありがとうございます。

    >SALINGER様
    >間接回答拒否の設定をきつくすると答えられないので
    そのあたり、意図的にやってるつもりはなく、よくわかっていないようです。。
    「回答者制限」を多くする、回答数上限に達するまで質問をクローズしない、ということでしょうか?
    気をつけますので、よろしければアドバイスください。
  • id:SALINGER
    人力検索には「他ユーザーの設定による回答拒否」という悪名高い機能がありまして
    直接回答拒否しなくても他の人からたくさん回答拒否されている人を自動的に回答拒否するという機能です。
    一見良さそうな機能ですが、実は回答ランキングなどに名前が出たりして活躍されている回答者は
    やっかみや嫌がらせでこの回答拒否が多いのです。
    この機能に気づかずに質問する人が多く、そんなに難しくない質問なのに回答がつかなかったり
    するのをよく見かけたりします。
    この機能は個々の人力検索の設定で変更できます。
    http://q.hatena.ne.jp/harakiri2/config
    「他ユーザーの設定による回答拒否」というところを「拒否しない」にするか、大きな数字にするといいです。
  • id:harakiri2
    >SALINGER様
    ご丁寧にありがとうございます。設定を変更しました。
    これで様子をみていくことにします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません