Excel: テーブルから一意の値のリストを取得し、数式を使用して値を 1 つの列に配置する

Excel: テーブルから一意の値のリストを取得し、数式を使用して値を 1 つの列に配置する

行と列の範囲にまたがる値のテーブルがあります。サンプルデータ:

Green    Leaf
Green    Fire
Red      Fire
Water    Blue
Blue     
Red
Water

テーブルから一意の値の単一の列を取得したいです。結果:

Green
Leaf
Fire
Red
Water
Blue

可能であれば、数式のみを使用することをお勧めします。データリボンメニューの高度なフィルターツールを使用してみました。ここただし、列は 1 つではなく 2 つになります。

答え1

次の式を使用できます:

=IFERROR(INDEX($A$1:$A$7,AGGREGATE(15,7,ROW($A$1:$A$7)/(COUNTIF($D$1:D1,$A$1:$A$7)=0),1)),INDEX($B$1:$B$4,AGGREGATE(15,7,ROW($B$1:$B$4)/(COUNTIF($D$1:D1,$B$1:$B$4)=0),1)))

エラーが発生するまで最初の列の値を反復処理し、次に下にドラッグされるときに 2 番目の列の値を繰り返し処理します。

覚えておくべき重要なことは、少なくとも 2 行目にある必要があり、$D$1:D1参照において絶対的なものとそうでないものに注意しながら、数式が最初に配置されているセルのすぐ上のセルを参照する必要があることです。

ここに画像の説明を入力してください

答え2

次の式を使用できます。

=UNIQUE({FILTER(A1:A7;A1:A7<>"");FILTER(B1:B7;B1:B7<>"")})

説明してみましょう:

  • FILTER(A1:A7;A1:A7<>"") --> 列Aはフィルタリングされ、空白でない値のみが取得されます。
  • FILTER(B1:B7;B1:B7<>"") --> 列Bでも同じことが起こります
  • 両方の関数を括弧{}で囲むことで、データを垂直配列に変換します。
  • UNIQUE --> この関数を使用すると、重複した値を削除できます。

関連情報