it-swarm-ja.com

Excelでの高度な並べ替え

Excelに次の形式のデータがあります。

Description      Name            Percent
Always             A               52
Sometimes          A               23
Usually            A               25      
Always             B               60
Sometimes          B               30
Usually            B               15 
Always             C               75
Sometimes          C               11
Usually            C               14

このデータを並べ替えたい:

それぞれの名前について、説明の順序は同じである必要があります(たとえば、常にその後に続く場合があります)が、3つの名前A、B、およびCについては、常にパーセントを最小から最大に並べ替えます。例:並べ替えた後、上記の例を次のように表示します。

Description      Name            Percent
Always             C               75
Sometimes          C               11
Usually            C               14      
Always             B               60
Sometimes          B               30
Usually            B               15 
Always             A               52
Sometimes          A               23
Usually            A               25

名前Cの常にパーセントが最も高く、名前Aの常にパーセントが最も低かった。説明できたと思います。よろしくお願いします。

1
Nupur

これを解決するために3レベルの並べ替えを行うことができます

  1. 名前で{zからa}
  2. 説明別([カスタムリスト]をクリックし、[常に]、[時々]、[通常]と入力します)
  3. 次にパーセントで(最小から最大)

Plsはスクリーンショットを参照してください(以下のxl2010から) sorted

3
brettdj

ワンステップのアプローチはわかりませんが、次のことを試してください...(実際には見た目ほど複雑ではありません。簡潔かつ明確に説明するのは難しいです!)

これは、初期データの行が常に目的の相対順序であるという仮定に基づいています。

  1. 常に
  2. 時々
  3. 通常

これが(サンプルデータの一致ではなく)当てはまる場合は、並べ替えの目的で4番目の列を作成して、目的の順序で並べ替えることができる数値を生成できます。

アプローチの概要

  1. パーセント値から派生したデータを含む新しい列を作成します。これにより、並べ替え中に3行の各セットの目的の順序が保持されます。
  2. この新しい列のセルを数式から値に変換して、並べ替え中に値が変更されないようにします
  3. 2番目の並べ替えキーとしてNameを使用して、この新しい列のデータを並べ替えます(降順)。

詳細な手順

上記が十分な情報ではない場合:

  1. 4番目の列を作成:それをOrdering [.____と呼びましょう。]
    • D1:Ordering
  2. 次の式の順序付けの最初の3行を指定してください
    • D2:=C2+2(つまり、あなたの例では54)
    • D3:=C2+1(つまり、53)
    • D4:=C2(つまり、52)
  3. これらの3つのセルを選択し、データの下部に入力しますしたがって、たとえば、次の3行には次のものが含まれます。

    • D5:=C5+2(つまり、あなたの例では62)
    • D6:=C5+1(つまり、61)
    • D7:=C5(つまり、60)

    注1:少なくともWindows上のExcel 2010では、Excelの「フィルダウン」メカニズムが必要に応じて数式を入力することに本当に感銘を受けました。結果の値を自分でチェックして、Macの値が同じように動作することを確認してください。

    注2:ソート中に相対参照が壊れ、D2で#REF!で終わるため、この時点でソートを実行しようとしないでください。

  4. [注文]列をコピークリップボードに
  5. [順序]列を値として貼り付けます、つまり、上記の数式を計算した値に置き換えます
  6. カスタムソートを実行します
    1. 注文時、降順
    2. 名前で、昇順

元のデータを使用すると、これにより望ましい結果が得られます。

名前で並べ替えは、3行の2セットが同じパーセント値を持つ場合のものです。そうしないと、2つの異なる名前の結果が混同される可能性があります(Excelの並べ替えで最初の相対的な順序が保持されない場合)

2
Clare Macrae