
5 列に渡って 272,000 行のデータを含む Excel ファイルがあります。データは次のようになります。
A B C D E
1 1 1 1 1
1 0 1 0 1
1 1 1 1 1
1 0 0 0 0
1 0 1 0 1
1 0 1 1 1
1 1 1 1 1
1 0 1 0 1
1 0 1 1 1
1 1 1 1 1
1 1 1 0 1
1 0 1 1 1
1 0 0 1 1
0 1 0 0 0
1 0 0 0 1
0 0 0 0 1
1 1 1 1 1
1 1 1 0 1
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
1 1 1 1 0
1 0 0 0 0
1 1 1 0 1
0 0 0 0 1
1 0 0 0 1
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
ユニークな組み合わせが何であるかを私は知っています:
A
AE
AB
BE
B
AC
ABC
BC
C
ACE
ABCE
BCE
CE
ACDE
ABCDE
BCDE
CDE
ADE
ABDE
BDE
DE
AD
ABD
BD
D
各組み合わせが何回出現するかをカウントするにはどうすればよいでしょうか。ネストされた 'IF' 関数と count if 関数を使用してみました。このような状況では何ができるでしょうか。
答え1
この質問にはいくつかの答え方がありますが、組み合わせを得る簡単な方法は次の通りだと思います。
念のため、現在のデータのバックアップを作成してください。A、B、C、D などはすべて常に同じ列にあるため、基本的にこれらすべての数字を文字に変換できます (0 の場合は "")。次に、基本的にすべての文字列を合計するセルを用意して、組み合わせを取得します。
COUNTIF 関数を使用して合計を取得できます。
したがって、数字を文字に変換するには、すべての文字に対してこれを実行し、IF 関数を使用します。例: =IF(A1=1,"A","")
列が文字の場合、=CONCATENATE を使用して組み合わせを取得できます。文字のデータが列 A、B、C、D の場合: =CONCATENATE(A1、B1、C1、D1)
最後に、COUNTIF 関数を使用して、CONCATENATE 関数で作成した範囲内に存在する一意の組み合わせを「カウント」します。
答え2
私はそれを実現する方法を見つけました。サンプルファイルはファイルリンクここに。
ステップ 1: 私が実際に行ったのは、32 通りの組み合わせを導き出すことです。
ステップ 2: バイナリを 1 つの文字列に連結します。
ステップ 3: バイナリを 16 進数に変換します (参考用)。1 と 0 を入力したときに作成したすべての組み合わせが一意であることを確認したい場合に備えて。
ステップ 4: 各バイナリ文字列に、上記のコメントの「表記法」という列に記述した名前を付けます。
ステップ 5: ピボット テーブルを実装して、必要に応じて一意の値をカウントします。
必要なのは、「ステップ 3」から始めることだけです。表記については、VLOOKUP
私のファイルから を実行し、表記をそのまま割り当てます。
これで問題が解決することを願っています。