
У меня есть некоторые необработанные данные в 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
решение2
Если у вас есть Office 365 / Excel 2016, вы можете использовать TEXTJOIN
функцию в формуле массива:
=TEXTJOIN(" ",TRUE,IF(B2:F2=1,$B$1:$F$1,""))
Поскольку это формула массива, вам нужно «подтвердить» ее, удерживая ctrl+ shiftпри нажатии enter. Если вы сделаете это правильно, Excel поместит скобки {...}
вокруг формулы, как показано в строке формул.