3

У меня есть некоторые необработанные данные в 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 . Я также не могу добавить слишком много столбцов, потому что мои данные уже имеют несколько столбцов.

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

2 ответа2

3

Вы можете сделать это без функции 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() удаляет любые лишние пробелы, которые могут появиться, если пользователю нравится зеленый, но не красный.

3

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

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

Так как это формула массива, вам нужно "подтвердить" ее, удерживая Ctrl + Shift при нажатии Enter. Если вы сделаете это правильно, Excel поместит фигурные скобки {...} вокруг формулы, как показано на панели формул.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .