0

次のような大きなレポートテーブルがExcelにあります。名前ごとにすべての数値を追加し、すべてのパーセンテージを平均する必要があります。

Name    Number    Percent
-------------------------
Alan    1         20%
Barb    2         20%
Corey   3         40%
Barb    1         30%
Alan    2         20%
Daniel  3         80%
Alan    1         10%

を探しています:

Name    Number    Percent
-------------------------
Alan    4         17%
Barb    3         25%
Corey   3         40%
Daniel  3         80%

シート1には生データがあり、シート2には要約があります。別の列(「名前」)でグループ化しながら、1つの列(「番号」)を追加するにはどうすればよいですか?この関数は、3番目の列を同じように平均化するためにどのように変化しますか?(VBAを使用していません)

4

2 に答える 2

2

「大きな」データセットの単純な合計と平均が本当に必要な場合は、ピボットテーブルがはるかに高速なソリューションです。

ただし、サンプルの結果を見ると、重みがどこにあるかについての加重平均が本当に必要だと思います(サンプルの結果の一部はリスのように見えますが、これはサンプルの結果がより大きなデータセットを表しているためだと思います) 。これは、データテーブルのヘルパー列を使用して、ピボットテーブルでもすばやく実行できます。PercentNumber

  • ExtPercentデータシートに、計算が数値*パーセントであるという新しい列を追加します。
  • ピボットテーブルを作成して、ソースデータに新しい列を含めます
  • Name行領域に配置します
  • 数式を使用して「加重平均パーセント」と呼ばれる計算フィールドをPTに= ExtPercent / Percent追加し、これをデータ領域に追加します
  • もちろん、合計をNumberデータ領域に追加することもできます
于 2012-06-28T23:21:47.107 に答える
0

これを1回だけ実行しますか(つまり、手動による介入)、または定期的に実行しますか(つまり、[配列]式またはVBA)?

重複を識別するために、たとえばD3で= countif(A $ 3:A $ 9、A3)を使用し、式をコピーします。ランキングのために。最初の一意の値のみを識別したい場合は、= IF(COUNTIF(A3:A $ 9、A3)> 1、” Duplicate”、” Unique”)を使用できます。特にA3から$を削除したので、この式コピーダウン時に縮小されたルックアップ範囲を使用します。

SumIf(range、criteria、sum_range)を使用してスコアを追加します。したがって、この場合= SumIf(A $ 3:A $ 9、A3、B $ 3:B $ 9)。

数式を使用してこの要約リストを作成する場合は、こちらをご覧ください。 http://www.get-digital-help.com/2009/03/30/how-to-extract-a-unique-list-and-the-duplicates-in-excel-from-one-column/

于 2012-06-30T06:16:58.097 に答える