我隐约记得,可以解析单元格中的数据,并在设置某些条件后只保留部分数据。但是我不记得使用什么命令了。有什么帮助/建议吗?
例如,A1包含以下信息
0/1:47,45:92:99:1319,0,1320有没有一种方法可以提取,比方说,0/1或1319,0,1320,并删除其余未选择的数据?我知道我可以做text-to-column和设置delimiter,然后手动删除“不需要的”数据,但是我的EXCEL电子表格包含100列X 500000行,每个单元格看起来与上面的数据相似,所以我担心EXCEL可能会在完成工作之前崩溃。(我已经尝试了LEFT,LEN,RIGHT,MID,但似乎没有一个像我希望的那样工作)任何建议都将非常感谢。
发布于 2015-02-14 00:23:35
我认为你正在寻找的是find和mid的组合,但你必须准确地计算出你想要如何拆分字符串:
A1 = 0/1:47,45:92:99:1319,0,1320 //your number
B1 = Find(“:“,A1) //location of first ":" symbol
C1 = LEN(A1) - B1 //character count to copy ( possibly requires +1 or -1 after B1.
=Left(A1,B1) //left of your symbol
=Mid(A1,B1+1,C1) //right size from your symbol (you can also replace C1 with better defined number to extract only 1 portion
//You can also nest the statements to save space, but usually at cost of processing quantity increase这就是概念,你可能需要在多个单元格中这样做,才能拆分一个和你一样长的字符串。对于多个拆分,您可能希望复制此命令以针对上一个right/mid命令的结果。这样,您将得到如下单元格结果序列: 0/1:47,45:92:99:1319,0,1320;47,45:92:99:1319,0,1320;92:99:1319,0,1320;99:1319,0,1320......从其中的每一个,您都可以检索字符串的左侧,直到":“,以获取字符串的每个部分。
如果你正在处理一个很大的表,你可能想看看VB脚本。据我所知,没有一个excel命令可以接受一个单元格并将其拆分成多个单元格。
发布于 2015-02-14 01:12:32
假设你说有100x列,我想在某些情况下,你需要在字符串中间分隔字符,因此Left和Right可能并不总是有效的。但是,在可能的情况下,请尽可能地使用它们。假设字符串在单元格F2:0/1:47,45:92:99:1319,0,1320中
=LEFT(F2,3)这将返回0/1,它是字符串中从左开始计数的前3个字符。同样,Right的功能类似:
=RIGHT(F2,4)这将返回1320,返回从右开始的4个字符。
您可以结合使用Mid和Find,根据定义的字符动态查找字符或字符串。下面是一些动态隔离字符串中值的方法的示例。请记住,这些示例的关键是嵌套的Find公式,其中最内层的Find是字符串中的第一个字符。
1)在第二个:字符后返回2个字符
在单元格F2中,我需要分离出"92":
=MID(F2,FIND(":",F2,FIND(":",F2)+1)+1,2)最里面的Find定位字符串中的第一个: (中有4个字符)。我们添加+1以移动到第5个字符(移动到第一个:之外,这样第二个Find将看不到它),并移动到下一个Find,从该字符开始再次查找:。第二个查找返回10,因为第二个:是字符串中的第10个字符。Mid公式在这里起作用。公式是这样说的,从第10个字符开始返回下面的2个字符。返回两个字符由公式末尾的2决定( Mid公式的最后一部分)。
2)在这种情况下,我需要找到字符串中第三个:之后的2个字符。在本例中为"99":
=MID(F2,FIND(":",F2,FIND(":",F2,FIND(":",F2)+1)+1)+1,2)您可以看到,我们只是在示例1中的公式中添加了一个嵌套的Find。
发布于 2015-02-14 01:29:54
让我试着在这方面帮助你,我不是一个专业的,所以你可能会面临一些问题。首先,我的解决方案包含两个要添加到源列的列,如下所示。但是,您可以使用此原则改进公式。

Column B Formula:
=LEFT(A2,FIND(":",A2,1)-1)
Column C Formula:
=RIGHT(A2,LEN(A2)-FIND("|",SUBSTITUTE(A2,":","|",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))https://stackoverflow.com/questions/28503747
复制相似问题