Превращение двоичных данных в строковые данные в 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))и т. д., потому что IFфункция не работает внутри CONCATENATE. Я также не могу добавить слишком много столбцов, потому что мои данные уже содержат несколько столбцов.

Есть ли функция, которую я могу использовать, чтобы преобразовать эти двоичные данные в чистую строку, которая поместится в одном столбце?

решение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

Если у вас есть Office 365 / Excel 2016, вы можете использовать TEXTJOINфункцию в формуле массива:

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

Поскольку это формула массива, вам нужно «подтвердить» ее, удерживая ctrl+ shiftпри нажатии enter. Если вы сделаете это правильно, Excel поместит скобки {...}вокруг формулы, как показано в строке формул.

введите описание изображения здесь

Связанный контент