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

 EXCEL2002で,関数式を使い、負の数(-1等)、正の数(1.2.3等)を分けてカウントし、各々合計する方法。多分IF式に似た条件を使うのでしょうが‥‥‥

 例えば、30、セルの個数があるとして、負の数(-1等)、正の数(1.2.3等)を分けてカウントし、
(1)負の数のセルのみを合計して、例えば、R6~R32という27セルの内、マイナスの数字が-1, -2, -3, -4のみならば、合計の数字は、ー10となります。
(2)全く同様にして、正の数のセルのみを合計して、例えば、27セルの内、プラスの数字が 1, 2, 3, 4のみならば、合計の数字は、10となります。
 
 (1)負の数のセルのみの合計を導き出す関数式 =SUM(R6:R32,'<0')
 (2)正の数のセルのみの合計を導き出す関数式 =SUM(R6:R32,'>0')
という、具体的な関数式で書いてくださると、たいへん有難いのですが、
 あつかましい相談ではありますが、何卒、よろしくお願いします。

A 回答 (4件)

カウントするには COUNTIF


合計するには SUMIF で出来ます。

負の合計 =SUMIF(R6:R32,"<0")
正の合計 =SUMIF(R6:R32,">0")

負のカウント =COUNTIF(R6:R32,"<0")
正のカウント =COUNTIF(R6:R32,">0")

カウントに0を含む場合は ">=0" または "<=0" として下さい。

http://officetanaka.net/excel/function/function/ …

http://www3.tokai.or.jp/excel/kansu/countif.htm

この回答への補足

 最後にひとつだけ、これは、p-applepieさんが、御時間があったらで、結構なのですが、お答え頂けると、大変有難いです。

(1)負の数を、正の整数として、計算したい場合、絶対値表示にしてABS(-1)⇒1 とする方法がありますが、他に、もっと簡単に表示させる、普通の数式のように、 -(-1)⇒1 に近い方法で存在しないでしょうか?

(2)再び、R6:R32の範囲のセル内でランク付けを行い、1~27位の順位を、昇順に左隣のS6:S32のセルに書き込みたい場合、一体、何という関数式を使って表示したら良いのでしょうか?
 =VLOOKUP
 等では、当然、駄目ですよね?

補足日時:2007/03/14 00:39
    • good
    • 0
この回答へのお礼

 本当に、御優しい方で、私が質問を行い、たったの9分での即答。
 しかも、私の意図も慮っての、二重の御配慮を頂き、有難うございます。
 さっそく、取り急ぎ、行わせて頂きます。
 

お礼日時:2007/03/14 00:17

◆p-applepieさんでは、ありがとうございます


◆関数でついつい、普通省略している引数を忘れがちですになります
    • good
    • 0
この回答へのお礼

 早朝 06:08分という、極めて早い時間帯にも拘らず、
 これほど、懇切丁寧に、お答え下さり、本当に有難うございます。
 極めて平易な回答を下さった故、お蔭様を持ちまして、何とか
 目的を達成させられそうです。
 感謝致します。有難うございました。
 また、御回答ください。

お礼日時:2007/03/14 23:33

p-applepieです。


補足でいただいた質問の1は、maron--5の回答でよろしいかと思います。

2については
=RANK(R6,$R$6:$R$32,1) で降順
=RANK(R6,$R$6:$R$32) で昇順の順位を出す事が出来ます。

この回答への補足

 ★ANo.1で御紹介頂いたリンク、とても勉強になりました。★

 これからも、こうした"非常に有益な"学習サイトを、ドシドシ御紹介下さいますよう、是非、御願い申し上げます。

補足日時:2007/03/14 23:41
    • good
    • 0
この回答へのお礼

 毎回、簡潔で、たいへん解かりやすい御答え、とても勉強になります。
 お蔭様を持ちまして、何とか 目的を達成させられそうです。
 感謝致します。有難うございました。
 また、御回答ください。

お礼日時:2007/03/14 23:39

◆p-applepieさんではありませんがよろしければ


>1)負の数を、正の整数として、計算したい場合
=SUMIF(R6:R32,">0")-SUMIF(R6:R32,"<0")
または、
=SUMPRODUCT(ABS(R6:R132))

>2)再び、R6:R32の範囲のセル内でランク付けを行い、1~27位の順位を、昇順に左隣のS6:S32のセルに書き込みたい場合
★大きい順
=LARGE($R$6:$R$32,ROW(A1))
★小さい順
=SMALL($R$6:$R$32,ROW(A1))
★下にコピー
    • good
    • 0
この回答へのお礼

 早朝 06:08分という、極めて早い時間帯にも拘らず、
 これほど、懇切丁寧に、お答え下さり、本当に有難うございます。
 極めて平易な回答を下さった故、お蔭様を持ちまして、何とか
 目的を達成させられそうです。
 感謝致します。有難うございました。
 また、御回答ください。
 

お礼日時:2007/03/14 23:32

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