我试图根据内容将excel中的一列数字转换为多列。
例如,表1包含1列,其中包含1到11之间的1或更多数字,用逗号分隔。表2应包含11列,其1或0取决于表1中的数字。
我现时所用的公式如下:
=IF(ISNUMBER(SEARCH("1",A2)),1,0)
下一列包含以下内容:
=IF(ISNUMBER(SEARCH("2",A2)),1,0)
一直到11岁
=IF(ISNUMBER(SEARCH("11",A2)),1,0)
但是,这方面的问题是,查找对1的引用的代码也可以找到对11的引用。是否可以编写一个公式,以便在表1中显示以下内容:
2, 5, 11
它没有把1放在表2的第1栏吗?
谢谢。
发布于 2013-09-24 13:59:50
对于只有逗号的列表,请使用:
=IF(ISNUMBER(SEARCH(",1,", ","&A2&",")),1,0)
如果list与,
(comma+space)分隔:
=IF(ISNUMBER(SEARCH(", 1,", ", "&A2&",")),1,0)
发布于 2013-09-24 14:18:41
在每个逗号之前或之后处理0..n个空格的LS_dev答案的一个版本是:
=IF(ISNUMBER(SEARCH(", 1 ,",", "&TRIM(SUBSTITUTE(A2,","," , "))&" ,")),1,0)
替换确保每个逗号前后始终至少有一个空格,而TRIM用一个空格替换多个空格,因此TRIM函数的结果将在每个逗号前后正好有一个空格。
发布于 2013-09-24 14:03:10
在进行搜索之前,使用SUBSTITUTE
函数将所有"11“更改为罗马数字"XI”如何:
=IF(ISNUMBER(SEARCH("1",SUBSTITUTE(A2, "11", "XI"))),1,0)
https://stackoverflow.com/questions/18983582
复制相似问题