13

次のようなグラフの条件付き中央値を計算しようとしています。

A  |  B
-------
x  |  1
x  |  1
x  |  3
x  |  
y  |  4
z  |  5

MS Excel 2007を使用しています。AVERAGEIF()ステートメントを認識していますが、Medianに相当するものはありません。主なトリックは、上記の4番目の「a」のようにデータのない行があることです。この場合、計算でこの行をまったく考慮したくありません。

グーグルは次のことを提案しましたが、Excelは数式形式を受け入れません(おそらく2007年だからですか?)

=MEDIAN(IF((A:A="x")*(A:A<>"")), B:B)

Excelは、数式に問題があるというエラーを表示します(条件の*に関係があります)。次のことも試しましたが、計算では空白のセルが0としてカウントされます。

=MEDIAN(IF(A:A = "x", B:B, "")

これらの数式はExcelの「配列」を返すことを認識しています。つまり、正しく機能させるには「Ctrl-shift-enter」を入力する必要があります。

空白のセルを考慮せずに条件付き評価を行うにはどうすればよいですか?

4

4 に答える 4

9

ネストされたifステートメント。

=MEDIAN(IF(A:A = "x",IF(B:B<>"",B:B, ""),"")

説明することはあまりありません-Aがxであるかどうかをチェックします。そうである場合は、Bが空白でないかどうかをチェックします。両方の条件に一致するものはすべて、中央値の一部として計算されます。

次のデータセットがあるとします。

A | B
------
x | 
x |     
x | 2
x | 3
x | 4
x | 5

上記の式は3.5を返します。これは、あなたが望んでいたと私が信じているものです。

于 2009-04-12T23:02:50.883 に答える
7

Googleの数式を使用しEnterますが、数式バーに入力した後で押す代わりに、(ではなく) Ctrl++を同時に押しShiftます。これにより、数式の前後に角かっこが配置され、配列として扱われます。EnterEnter

編集すると、もう一度ヒットできないEnterか、数式が無効になることに注意してください。編集する場合は、完了時に同じことを行う必要があります(Ctrl+ Shift+ Enter)。

于 2011-08-18T01:27:33.117 に答える
5

CtrlShiftEnter操作を必要とする配列数式を含まない別の方法があります。これは、Excel 2010、2011以降で提供されるAggregate()関数を使用します。この方法は、最小、最大、およびさまざまなパーセンタイルでも機能します。Aggregate()を使用するとエラーを無視できるため、必要のないすべての値でエラーが発生するようにするのがコツです。最も簡単な方法は、上記のタスクセットを実行することです。

= Aggregate(16,6、(B:B)/((A:A = "x")*(B:B <> ""))、0.5)

最初と最後のパラメーターは、中央値であるパー​​センタイル50%を実行するようにシーンを設定し、2番目はすべてのエラー(DIV#0を含む)を無視することを示し、3番目はB列データを選択してそれを次の数値で除算することを示しますA列にxが含まれるすべての空でない値に対して1つ、それ以外の場合は0。ゼロはゼロ除算の例外を作成し、a / 1=aおよびa/0 = Div#0であるため、無視されます。

この手法は、四分位数(適切なp値を持つ)、もちろん他のすべてのパーセンタイル、および適切な引数を持つ大関数または小関数を使用した最大値と最小値に対して機能します。

これは、非常に人気のあるSumproduct()トリックに似た構造ですが、これらの関数の数値のように見えるゼロを生成するため、分位数または最大最小値には使用できません。

ボブジョーダン

于 2014-11-13T00:07:52.717 に答える
1

おそらく、これの代わりにもう少し一般化するために...

{=MEDIAN(IF(A:A="x",IF(B:B<>"",B:B)))}

...次を使用できます。

{=QUARTILE.EXC(IF(A:A="x",IF(B:B<>"",B:B)),2)}

中括弧は配列数式を参照していることに注意してください。数式に角かっこを入れないでください。数式を入力するときは、CTRL + SHIFT + ENTER(またはmacOSではCMD + SHIFT + ENTER)を押してください。

次に、最後の数値をそれぞれ2から1または3に変更することで、最初と3番目の四分位数を簡単に取得できます。ちなみに、QUARTILE.EXCは、ほとんどの商用統計ソフトウェア(Minitabなど)が使用しているものです。「通常の」関数はQUARTILE.INCであり、古いバージョンのExcelの場合はQUARTILEだけです。

于 2017-07-27T18:33:48.567 に答える