web-dev-qa-db-ja.com

Excelの数式を使用して列の一意の値を取得する方法

私は以下のようなExcelデータを持っています

       JID     Val

       1001    22
       1030    6
       1031    14          
       1041    8
       1001    3
       2344    8
       1030    8
       2344    6
       1041    8

式を使用して以下のような一意のJID値を取得するにはどうすればよいですか?

UJID   

1001
1030
1031
1041    
2344
18
sam

重複削除機能を使用できます

列範囲を選択します

Dataタブに移動

Remove Duplicatesをクリックします

14
Rahul Shah

以下は、テーブルから一意のアイテムのリストを取得するソリューションです

このソリューションには2つの部分があります。

パート1)ユニークカウント

{= SUM(IF(FREQUENCY(IF($ A $ 2:$ A $ 10 <> ""、MATCH($ A $ 2:$ A $ 10、$ A $ 2:$ A $ 10,0))、ROW($ A $ 2: $ A $ 10)-ROW($ A $ 2)+1)、1))}

これにより、データテーブル内の一意のアイテムの数がカウントされ、空白は無視されます

*これは配列式であり、使用するには「Ctrl」+「Shift」+「Enter」を使用する必要があります

パート2)一意のリスト

この式は、テーブル内の一意のアイテムのリストを提供します

= {IF(ROWS($ E $ 5:E5)> $ E $ 2、 ""、INDEX($ A $ 2:$ A $ 10、SMALL(IF(FREQUENCY(IF($ A $ 2:$ A $ 10 <> ""、 MATCH($ A $ 2:$ A $ 10、$ A $ 2:$ A $ 10,0))、ROW($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1)、ROW($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1)、ROWS($ E $ 5:E5))))}

繰り返しますが、これは配列数式です。その後、この式を下にドラッグして、すべての一意のアイテムを取得できます。

この式は動的な式です。つまり、現在のデータ範囲を超えてデータ範囲を設定でき、新しい値を入力するとリストが更新されます。

*これをさらに理解するために見るべき素晴らしいビデオです

https://www.youtube.com/watch?v=3u8VHTvSNE4

enter image description here

15
josh2205

Select distinct values

配列関数や組み込み関数を使用しない、よりエレガントな回避策を見つけたと思います。

  • 1st 列(ID):
    _this is the array from we'd like to select distinct values_

  • 2nd 列(基準):これが最初に発生するかどうかを確認します
    =IF((ROW()-1)=MATCH(A2,$A$2:$A$500,0),1,0)

  • 3rd 列(累積):
    =SUM($B$2:B2)

  • 4番目 列(カウント):
    _this is constant 1_

  • 5番目 列(一意のID):
    =OFFSET($A$2,MATCH(ROW()-1,$C$2:$C$501,0)-1,)

  • 6番目 列(カウント):
    =SUMIF(A2:A21,F2,D2:D21)

9
Balint