2018年7月13日VBAVBAで中央値を求める方法Excelではワークシート関数のMEDIAN関数を使うと中央値が求められます。VBAで中央値を求めたい場合はこのMEDIAN関数を使うのが一番簡単です。ほとんどの場合において一番高速です。してもVBAの処理で算出したい場合もあるかもしれません。この2つの中央値を求める方法について紹介します。簡単にですが、中央値の考え方を説明します。中央値は昇順もしくは降順で並んだ値の中で中央にある値を指します。並んでいる値の個数が偶数の場合は中央が2つ存在するためその場合はその2つの平均を中央値とします。100)という5個の値の場合、中央値は4になります。6の10を半分に割った5になります。1の2を半分に割った1になります。ワークシート関数のMEDIAN関数を使う方法ワークシート関数のMEDIAN関数を使う方法です。引数に値が入った配列を渡します。引数配列内に数値でない値は内部処理で除去し、数値のみでMEDIAN関数を実行します。Sub実行結果5VBAの処理で中央値を算出する方法ワークシート関数のMEDIAN関数を使わない方法です。FrameworkのArrayListクラスを利用するために場合によっては参照設定が必要な場合があります。VBA画面のツールメニュー→参照設定で以下の選択もしくは参照してください。Library参照してもチェックが付かない場合がありますが、その場合は参照設定が不要ですので気にせず未設定で構いません。引数配列から数値のみを抽出しているのは上の関数と同じですが、そのあとで配列のソートをArrayListクラスのSortメソッドで行っています。この部分はクイックソートなどの他のソート方法でも構いません。ソートを行っている理由は、ソート後であれば配列の中央が分かるためです。参考としてコードは紹介しましたが、やはりMEDIAN関数の方をお勧めします。Excel作業をVBAで効率化シェアお問合わせTOPへ。