如何在Excel中将无序逗号分隔数据转换为带1/0标记的多列?
解决方案
手动创建列并使用公式填充
- 添加目标列:在原数据右侧手动添加需要的作物列,比如
Cereals、Oilseeds、Corn等,作为列标题。 - 编写判断公式:
- 以第一个受访者(第2行)的
Cereals列为例,在对应单元格输入公式:
细节说明:=IF(ISNUMBER(SEARCH("Cereals", SUBSTITUTE(B2, " ", ""))), 1, 0)SUBSTITUTE(B2, " ", ""):去除单元格内所有空格,避免因Cereals, Oilseeds(带空格)导致匹配失败SEARCH("Cereals", ...):查找目标作物是否存在,存在返回位置数字,不存在返回错误值ISNUMBER(...):判断搜索结果是否为有效数字(即是否找到目标内容)IF(...,1,0):找到目标返回1,未找到返回0
- 以第一个受访者(第2行)的
- 批量填充公式:选中输入公式的单元格,鼠标移到单元格右下角的填充柄(小方块),按住左键向下拖动,即可将公式批量应用到所有行。
- 空单元格处理:如果原B列单元格为空,公式会自动返回0,无需额外调整。
验证结果
填充完成后,即可得到预期格式:
| Column A | Column B | Cereals | Oilseeds | Corn |
|---|---|---|---|---|
| Respondent 1 | Cereals,Oilseeds | 1 | 1 | 0 |
| Respondent 2 | Oilseeds,Corn,Cereals | 1 | 1 | 1 |
| Respondent 3 | Corn,Oilseeds | 0 | 1 | 1 |
内容的提问来源于stack exchange,提问作者bas_tian
相关产品推荐
相关产品推荐

