1

別の列を指定して、ある列のモード (最も出現頻度の高い) 値を見つけようとしています。

方法は知っていますが、計算に数分かかり、Excel が応答しなくなる可能性があります。したがって、私はより良い方法を探しています。


私のデータがこのように見えるとします

group | Level
1       D
1       A
1.1     B
1       C
1       A
1       E

次に、出力を次のようにします。

group | LevelMode
1       A
1.1     B

データがワークシートの左上隅にあると仮定すると、次の数式を使用して、C 列に沿ってドラッグします。

=COUNTIFS(A:A;A2;B:B;B2)/COUNTIF(A:A;A2)

これにより、グループ内の値の比率がわかります。その後、0.5 を超えていないものと重複するものをすべて削除し、存在する場合は各グループのモードを指定します。

この式はまさに私が望んでいることですが、約 50000 行の場合、リソースが多すぎます。これは、ピボット テーブルのオプションで、またはオンラインで簡単に検索した後に見つかると思っていましたが、目標を達成する方法が見つかりませんでした。

私はまともなハードウェア、かなり最近のバージョンの Excel を持っており、マクロなしでこれを行うことを好みます。ただし、これを実現するためにマクロが必要な場合は、そうしてください。

4

1 に答える 1

2

これを試して:

ステップ1。

ピボット テーブルを作成し、RowLabels の "Group" に配置し、その下に "Level" を配置します。ここで、「値」フィールドにカウントとして「レベル」を配置します。

ステップ2。

下の図を参照してください。「レベル」の右側にある黒い矢印をクリックします (写真では見えませんが、赤い円の中にあるはずです)。「Values Filters」、「Top 10」の順に選択し、数値を 1 (上位 1) に設定します。終わり!!

注意: 「レベル」のステップ 2 を実行する必要があります。「グループ」に同じことをするとうまくいきません。

ここに画像の説明を入力

編集: これは結果であり、ピボット テーブルがどのように見えるかです。

ここに画像の説明を入力

次に、出力を目的の形式に整形します。

  1. [ピボットテーブル ツール] > [デザイン] で、[レポート レイアウト] を [表形式] に設定します。
  2. 合計と小計を無効にする

デフォルト設定を仮定すると、Groups と LevelModes のリストを簡単にコピーできるようになりました

于 2013-09-02T13:17:40.560 に答える