Transformando dados binários em dados de string no Excel

3

Eu tenho alguns dados brutos no Excel que são organizados de uma maneira 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

Assim, 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 eu posso usar isso para calcular a frequência, mas também preciso dos dados em formato legível.

Gostaria de adicionar uma única coluna que diga as cores escolhidas pelo usuário, como: Usuário A - Verde + Azul.

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

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

    
por sofarsophie 06.06.2018 / 05:42

2 respostas

3

Você pode fazer isso sem a função 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;""))

A função TRIM() remove os espaços em excesso que podem aparecer se o usuário gostar de verde, mas não de vermelho.

    
por 06.06.2018 / 07:46
3

Se você tiver o Office 365 / Excel 2016, poderá usar a função TEXTJOIN em uma fórmula de matriz:

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

Como esta é uma fórmula de array, você precisa "confirmá-la" pressionando ctrl + shift enquanto pressiona enter . Se você fizer isso corretamente, o Excel colocará as chaves {...} ao redor da fórmula, conforme observado na barra de fórmulas.

    
por 06.06.2018 / 14:31