2

この回答では、次の式が与えられています。

{=PERCENTILE(IF(COLUMN(INDIRECT("1:"&MAX(Data!N3:N15)))<=Data!N3:N15,Data!M3:M15,""),0.25)}

重み付きのデータの最初の四分位数を計算することになっています。

この式が何を言っているのか理解しようとしてきましたが、できません。

まず、中括弧とは何ですか?(おそらくばかげた質問です。)

次に、<=オペランドとして 2 つのデータ範囲が指定された場合、演算子は何をしますか?

3 番目に、if ステートメントの条件に関係なく、返されたデータが単なる値の列である場合、どうすれば正しい答えが得られるでしょうか? 式が行うことは私には思えます

  • 奇妙な条件が満たされた場合、値列の最初の四分位数を計算します。
  • そうでない場合は、"" の最初の四分位数を計算します。

これは完全に間違っているようです...

また、Excel の関数と演算子の完全なマニュアルはどこにありますか? オンライン ヘルプ ファイルには、2 つの範囲の比較については何も書かれていません。

4

3 に答える 3

3
  1. 最も内側の操作はMAX(Data!N3:N15)で、これは範囲内の最大値を探しますM3:M15。最大は10としましょう。
  2. 2 番目の操作はINDIRECT("1:"&10)INDIRECT、範囲に変換されます1:10
  3. COLUMNrange の列番号を含む配列を返します1:10。(範囲が の場合A1:B1、配列が取得されます{1,2}。範囲が の場合B1:D1、配列は になります{2,3,4}。したがって、COLUMN(1:10)が返されます{1, 2, 3, etc...}
  4. Data!N3:N15理解しやすいはずです。範囲自体は配列です。値が含まれているとしましょう:{2, 3, , 5, etc...}
  5. 比較: {1, 2, 3, etc...} <= {2, 3, , 5, etc...}. 比較が満たされた場合、範囲内の値を返しますData!M3:M15。これに が含まれているとしましょう{15, 14, 13, 12, 11, etc... }

    • 最初の比較: 1 <= 2 (両方の配列の 1 番目の要素) が true であるため、 を返し15ます。
    • 2 番目の比較: 2 <= 3 (両方の配列の 2 番目の要素) が true であるため、 return 14.
    • 3 番目の比較: 3 <= "" (両方の配列の 3 番目の要素) は false であるため、他の結果""に従って返されます。IF
    • 等...

    したがって、結果の配列は{15, 14, "", 12, etc... }です。

  6. この配列のパーセンタイルを取得します。

これは配列数式であるため、Ctrl+ Shift+を使用して数式を使用する必要がありましたEnter。これを行うと、中かっこが数式を自動的に囲みます。

以前に追加できなかった補遺(この少しは、バリー・フーディーニの答えを見る前に私が入れたものです):

範囲内の最大値が何であれN3:N15(Excel のバージョンに応じて 256 または 16384 を超える値を除く)、COLUMN(INDIRECT("1:"&MAX(Data!N3:N15)))一定の値が返されます。

より良い説明については、barry houdini の回答を参照してください。

于 2013-08-13T10:03:22.733 に答える
0

質問の最初の部分に答えるには、中かっこは配列数式 (関数) を示します。PERCENTILE機能もその一つです。使用する数式を入力するには、CTRL + SHIFT + ENTER を使用します。純粋な ENTER では十分ではありません。

詳細については、こちらをご覧ください。

于 2013-08-13T10:02:34.517 に答える