
行と列の範囲にまたがる値のテーブルがあります。サンプルデータ:
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 --> この関数を使用すると、重複した値を削除できます。