Excel でバイナリ データを文字列データに変換する

Excel でバイナリ データを文字列データに変換する

Excel に、読みにくい方法で整理された生データがあります。たとえば、どのユーザーがどの色を好むかを示す表の場合:

        A      B        C       D       E
User | Red | Green | Orange | Blue | Yellow
A       0      1        0       1       0
B       0      0        1       1       0
C       1      0        0       0       1

つまり、ユーザー A は緑と青、B はオレンジと青、C は赤と黄色が好きです。

これは頻度を計算するために使用できるため便利ですが、人間が読める形式のデータも必要です。

ユーザーが選択した色を示す単一の列を追加したいと思います。例: ユーザー A - 緑 + 青。

しかし、関数は 内では機能しないCONCATENATE(IF(A2=1, $A$1), +, IF(B2=1, $B$1))ため、 などでこれを行うことはできないようです。また、データにはすでに複数の列があるため、列を追加しすぎることもできません。IFCONCATENATE

このバイナリ データを 1 つの列に収まるクリーンな文字列に変換できる関数はありますか?

答え1

関数がなくてもこれを行うことができますCONCATENATE()...

結果

=TRIM(IF(B2=1;B$1;"")&IF(C2=1;" "&C$1;"")&IF(D2=1;" "&D$1;"")&IF(E2=1;" "&E$1;"")&IF(F2=1;" "&F$1;""))

このTRIM()関数は、ユーザーが緑は好きだけど赤は好きではない場合に表示される余分なスペースを削除します。

答え2

TEXTJOINOffice 365 / Excel 2016 をお持ちの場合は、配列数式で関数を使用できます。

=TEXTJOIN(" ",TRUE,IF(B2:F2=1,$B$1:$F$1,""))

これは配列数式なので、ctrl+shiftを押しながら を押して「確認」する必要がありますenter。これを正しく実行すると、Excel は{...}数式バーに表示されているように数式を中括弧で囲みます。

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

関連情報