2016-07-12 14 views
0

Iは単位と中央販売価格Excelの表

Product Units Value 
A  10  100 
B  15  80 
C  30  560 

以下の例のように販売小売値をリスト、異なる製品とのスプレッドシートを持っている私はそう、中央販売価格と平均販売価格を比較したいのですが私は、中央値を正確に計算するための簡単な数式を探しています。

メジアン関数はシリーズ全体を必要とするため、上記の製品Aでは10個のインスタンスが必要です。データの圧縮形式を考慮してメディアンを迅速に計算するにはどうすればよいですか?

答えて

0

これを行うための独自のVBA関数を記述することなく、取り得る2つのアプローチがあります。

最初は、圧縮された頻度カウント形式からデータを展開して、一連の完全な観測データを生成します。これは、手動または式で行うことができます。後者が必要であるという前提で、いくつかの列を使用して達成することができます。

Screenshot for first approach

すべての青いセルが数式です。

カラムEは、単にカラムBの累積であり、Fはこれの調整バージョンです。列Hはちょうど1から55の値であり、セルL2によって与えられた観測の総数です。列IMATCH()の最終引数を1とし、Hの各観測値とFの調整累積値を照合します。列Jは、INDEX()関数を使用して観測値を生成します。 (観察1-10は値100を有し、11-25は値80を有し、26-55は値560を有する)。 MEDIAN()関数は、セルのM2に列Jを引数として使用されます。

このアプローチはMATCH()INDEX()MEDIAN機能の範囲引数を制御するOFFSET関数の使用を介して製品データ点の様々な数を考慮するように改良することができます。もちろん、列IJの隣接セルは、単一の公式を使用して結合することができます。説明を簡単にするために別々に示しています。

データを値でソートする方法です(この場合、データ行は2行目でプロダクトB、3列目にプロダクトA、4行目にプロダクトCがそのまま残ります)。次に、中央の観測数(観測数が奇数である場合)または観測数の中央の組(観測数が偶数である場合)を識別し、この中間に対応する値を決定する場合です観察。このアプローチでは、列Fの調整された累積値がまだ使用されていますが、すべての観測について列IおよびJの値を明示的に計算するのではなく、ちょうど中間の観測に限定することができます。

0

妥協の余地はないと思います。大量のヘルパーセルを使用するか、値でソートされた表を使用してください。

  1. ヘルパー細胞:

enter image description here

F4:AS6

中の式:

=IF(COLUMN()<COLUMN($F$4)+$B4,$C4,"end") 

D2中の式:

=MEDIAN(F4:AS6) 
  1. ソート順:F4下方に

enter image description here

式:D2

=SUM($B$3:B3)+1 

式:

=SUM(LOOKUP(INT(SUM(B4:B6)/2+{0.5,1}),F4:F6,C4:C6))/2 
関連する問題