手元の Excel が買い切り版 (Office 20XX) の場合、=MEDIAN(SQRT(A2:A101)) を素朴にやるとエラーになり一見「駄目か」となりますが、実はちゃんとできます (※)。サブスクリプション版 (Microsoft 365) の場合は素朴にやるだけでできるそうです。
※ 少なくとも手元の Office 2016 ではそうです。もしかしたらより新しい Office では素朴にやってできるようになっているかもしれませんが、私はわかりません。
セル範囲 or 配列を取る Excel 関数で予め各要素に演算を適用する方法
Excel で、中央値 =MEDIAN(A2:A101) のような 「セル範囲 or 配列」を取る関数 (もしくは「セル範囲 or 配列」そのもの) を使用するとき、「セル範囲 or 配列」の各要素に予め演算を適用したいことがあると思います (Ex. 各要素の平方根を取ってから中央値を取りたい)。
-
Microsoft 365 の場合 — 素朴に
=MEDIAN(SQRT(A2:A101))とやってみると、それだけで各要素の平方根を取ってから中央値を取ってくれるそうです (動的配列数式)。 -
それ以外の場合 — 素朴に
=MEDIAN(SQRT(A2:A101))とやってみると#VALUE!エラーとなります。が、Ctrl + Shift + Enterを押下すると、各要素の平方根を取ってから中央値を取ってくれます (配列数式)。
参考文献
Excel で配列数式を作成する | Microsoft Support
- 上記のページの例は
=SUM(B2:F2*B3:F3)(2行目に各株の株式数が、3行目に各株の価格があり、株式数と価格の積を取ってから総和を取る) です。この例から、「2 つ以上のセル範囲に対し、対応する要素たちを取る演算をして 1 つのセル範囲にマージしたもの」 も関数に渡せることがわかります。 - Microsoft 365 サブスクリプションの場合は Enter を押すだけでよいとあります。
- それ以外の場合は Ctrl+Shift+Enter キーを押す必要があるとあります。