• ベストアンサー

Excel 「2列連続してマイナスの数値が入っている場所の、その直後のセルの数値がプラスである」確率

数学やExcelが苦手で困っています。 どなたかお力を貸して下さい。 Excel2002以降の環境下での場合です。 1行に100個程度の数値が入っている状況です。 その行の中で、「2列連続してマイナスの数値が入っている場所の、その直後のセルの数値がプラスである」確率を導き出したいのですが、可能でしょうか? 確率自体は、統計関数の何れかを使えば出来そうですが、肝心なところはさっぱり分かりません。 IFを使ってマイナスならば1行下に「1」とか何らかの値を入れて、COUNTIFで手前のセルに値があるか見るという方法も一旦は思いついたのですが、手前のセルとか直後のセルとかを数式でどう表現して良いかも分からず・・・・挫折してしまいそうです。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.4

No3 さんの回答を利用して =SUMPRODUCT((SIGN($A1:$CT1)=-1)*(SIGN($B1:$CU1)=-1)*(SIGN($C1:$CV1)=1))/SUMPRODUCT((SIGN($A1:$CT1)=-1)*(SIGN($B1:$CU1)=-1)) =SUMPRODUCT(($A1:$CT1<0)*($B1:$CU1<0)*($C1:$CV1>0))/SUMPRODUCT(($A1:$CT1<0)*($B1:$CU1<0))

prussianblue
質問者

お礼

ご回答有難う御座います。大分求めるものの完成形に近い計算式なようで、とても嬉しいです。初めて見る関数の意味が正しく理解できないと、応用も利かないので、よく勉強してみます。前述の友人の要望を再度よく確認して、完成とできましたら、また改めて皆様に御礼を申し上げたいと思います。本当に有難う御座います。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

確立というより出現率ですね。 初めの2列は対象外ということでいいのでしょうか? A1:CV1にデータがあるとして =SUMPRODUCT((SIGN($A1:$CT1)=-1)*(SIGN($B1:$CU1)=-1)*(SIGN($C1:$CV1)=1))/COLUMNS($C1:$CV1)

prussianblue
質問者

お礼

ご回答有難う御座います。SUMPRODUCT関数・SIGN関数は初めてしりました。自分の中では、かなり画期的なご回答でした。これならば、単独の数式で求める数字が出せるようですね。複数列・複数行を組み合わせて計算しなくて済むのは大分Sheet内が整理できて嬉しいです。

prussianblue
質問者

補足

追加で教えて頂けますでしょうか? このようにSIGN関数に単一のセルでなく、範囲選択されている場合の意味というか、どういう結果を返すのかがよく解りません。また、SUMPRODUCT中の値の間が、「,」でなく「*」の場合どういう働きをするのかがやはり理解できません。この場合、SUMPRODUCTにとっての配列はどこなのでしょうか?宜しければお教え下さい。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

確率を求めるだけならB3セルに  =IF(AND(A1<0,A2<0,A3>=0),1,0) を入力して下までコピーします。 条件に合致するセルは数字の1が入るので  =SUM(B1:B100)/COUNT(B1:B100) の式で出現頻度は求められなくはないです。 でもA列の値はどのようなルールで発生しているのですか? その関数?を無視して、確率を求めようとしても不正確な値しか得られませんよ。 数学には大数の法則がありますから、サンプル数が1万、5万、10万…と増えるに従って正確になって行きますが、100件のサンプル数で求めた確率は信用が置けない気がします。

prussianblue
質問者

お礼

済みません、ご心配をお掛けしています。 実は友人に相談されて一緒に悩んでいる状態です。 彼によれば、ファイナンス理論という勉強をしているらしく、1社の数年分の利益が1行に記録されており、2ヶ月連続して赤字であった直後の月(3ヶ月目)が黒字に戻っている確立を出し、そのサンプルが数百社から数千社分(つまり数千行のデータ)ある・・・ということらしいのですが、私も実際のところ、これがどの様に運用されるデータでどれ程の信頼性を求めているのか、さっぱり解りません。自分もExcelの勉強が出来る機会だと思い、挑戦し始めたがどうにも自力ではできなくてここの駆け込んだと、そういう状況です。力になって下さり、本当に有難う御座います。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1

仮にA列に下記のデータが入っているとして B列に( 下式を B1に入力し、下方向にドラッグ) =AND(A1<0,A2<0,A3<0,A4<>"")*2+AND(A1<0,A2<0,A3>0,A4<>"")*1 式解説: 数式の入っているセル の 左データ(1段目)が 正数 なら 0          数式の入っているセル の 左データ(1段目)が 負数で、その下(2段目)も負数      でその下(3段目)が負数なら 2 、 正数なら 1 とする。  ただし(4段目)が空白なら 0         (-,-,-)なら2  (-,-,+)なら1  これ以外は 0 となる。 後は、 2、1、0の出現個数をカウントすれば確率を求められるかと・・・・   A    B 3   0 -2   2 -6   1 -5   0 9   0 7   0 -4   0 -1   0

prussianblue
質問者

お礼

有難う御座います。考え方が見えてきました。サンプルするデータはA行に入っているので、行列入れ替えて考えてみれば良いのでしょうね。別にIFと組み合わせる訳ではないのでしょうか?勉強不足なようで、×2、×1をする意味がまだ理解できていないので、勉強します。

関連するQ&A

  • エクセル2003・プラスをマイナスにしたい

    エクセルで、セルにプラスの値を入力するとマイナスになり、それは表示だけでなく実際に数値としてマイナスにしたいのです。つまり、そのセルを計算したり関数を使用した場合、マイナス扱いとなるようにしたいのです。 できれば、セルの書式設定でできないでしょうか?よろしくお願いします。

  • エクセルでこんなこと出来ますかね?(数値がマイナスなら0と表示して、プラスならそのままの数値を表示)

    エクセルでたとえば セル1の値がマイナスなら0と表示して、プラスならそのまま数値を表示させることは可能でしょうか??

  • エクセルで数値のプラス毎とマイナス毎に集計したい

    タイトルのとおりです。 エクセルでA1列にプラスとマイナスの数値が 入り交じって入力されています。 それをプラス合計とマイナス合計を取りたいのです。 この際、ソートをかけて行をバラバラにしては困るのです。 お詳しい方、よろしくお願いします。

  • Excel 2002で固定セルと連続セルの足し算をするには

    Excel2002で以下のような計算をします。 C列の1行目から以下のような数式を打ち込みたいのです。 A1+B1 A1+B2 A1+B3 A1+B4 A1+B5 A1+B6 . . . A1でなく、ある特定の数値をうってから、プラスB1としてセルの右下を引っ張ったら自動で”ある特定の数値”+B1, B2, B3, B4 ...と連続で打つことができます。 ある特定の数値がたとえば3の時は 3+B1 3+B2 3+B3 のようになります。 しかしある特定の数値に変更がある場合はその数値を打ち直してまたセルの右下をドラッグして直さなければいけません。A1という形にすることで、A1の値を変えると自動に連続したセルも変化するようにしてみたいのです。どうすればいいのでしょうか?

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • エクセルについてプラスの数値をマイナスに変更したいのですがよい方法ありますか?

    初めて投稿します、よろしくお願いします。 エクセルについて。 数値のプラスの値を全てマイナスに変更したいのですが よい方法はありますでしょうか?

  • EXCELでマイナス値の入ったセルの検索

    EXCEL2000を使用してます。 ある行に1、-2、-3、4 と並んでいる場合、左から順に見て行き、最初に出現するマイナスの値が入ったセルを検索したいです。 この場合-2を検索したいです。 最終的にはLOOKUP関数 (ベクトル形式) の様に検索した上のセルを見に行きたいと考えてますが、EXCELでマイナスのセルの検索は可能でしょうか?

  • エクセル 行も列もバラバラの入力されたセルを…。

    エクセルで質問です。 COUNTIF関数などで、縦列や行では簡単に数えることが、 出きると思います。 行も列もバラバラのセルで、入力されたセルを カウントする式はどう設定すればいいのでしょう? =COUNTIF((A11,A18,A25,A32,A39,A46,A53),">0") では、うまくいきませんでした。 セルを結合させたりしていますので、 セルを指定してカウントしたいのですが? 以上、よろしくお願いします。

  • EXCELで数値の入ったセルがいくつあるか計数

    EXCELで数値の入ったセルがいくつあるか計数したい。 どうすればいいか。 例題 1~200までの値の範囲でF1~F300までの各セルにランダムに数値が入っています。 これを次の4つに分類し各カウントをする。 (a):値が1~5までが何個 (b):値が6~10まで何個 (c):値が11~20まで何個 (d):値が21以上何個

  • エクセル2003で、それぞれの行には5列~10列の数値が入っています。

    エクセル2003で、それぞれの行には5列~10列の数値が入っています。 それらを常に右から(数値が入っている右端のセル)から4列のみ残す 関数式はどのように組めば良いでしょうか。

専門家に質問してみよう