在 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 将{...}在公式栏中看到括号。

在此处输入图片描述

相关内容