Transformando dados binários em dados de string no Excel

Transformando dados binários em dados de string no Excel

Tenho alguns dados brutos no Excel que estão organizados de uma forma que não é facilmente legível. Por exemplo, para uma tabela que mostra qual usuário gosta de qual cor:

        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

Portanto, o usuário A gosta de Verde e Azul, B gosta de Laranja e Azul e C gosta de Vermelho e Amarelo.

Isso é útil para nós porque posso usá-lo para calcular a frequência, mas também preciso dos dados em formato legível por humanos.

Gostaria de adicionar uma única coluna que indique as cores que o usuário escolheu, como: Usuário A - Verde + Azul.

Mas não consigo fazer isso CONCATENATE(IF(A2=1, $A$1), +, IF(B2=1, $B$1))e assim por diante porque a IFfunção não funciona dentro de CONCATENATE. Também não consigo adicionar muitas colunas porque meus dados já possuem várias colunas.

Existe uma função que eu possa usar para transformar esses dados binários em uma string limpa que caiba na coluna?

Responder1

Você pode fazer isso sem a CONCATENATE()função ...

Resultados

=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;""))

A TRIM()função remove quaisquer espaços em excesso que possam aparecer se o usuário gostar do Verde, mas não do Vermelho.

Responder2

Se você possui o Office 365/Excel 2016, pode usar a TEXTJOINfunção em uma fórmula de matriz:

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

Como esta é uma fórmula de matriz, você precisa “confirmá-la” mantendo pressionado ctrl+ shiftenquanto pressiona enter. Se você fizer isso corretamente, o Excel colocará colchetes {...}ao redor da fórmula, conforme observado na barra de fórmulas.

insira a descrição da imagem aqui

informação relacionada