我有一个导入Excel 2010的CSV文件。一个单元格包含我想要的部分文本,但它在单元格中具有不同的长度和位置。并非每条记录都有单元格中的数据。每段文本由分号(;)分隔,但仍在同一单元格内。所以:
同一行的M列应该包含我想要的整个文本,但只包含我想要的内容。所以:
有超过10,000条记录需要通过,并希望得到帮助。
编辑:我没有清楚地解释自己。 B列包含一串包含各种超链接的文本。每个单元格可以包含零超链接,一个超链接,2,3,4等等。每个超链接用分号分隔。我只想要amazon.com超链接,而不是amazon.ca或amazon.co.uk或任何其他超链接。我希望这是一个更清晰的例子,我想在一个单独的领域,粗体。 -B2 = amazon.com/12345 -B3 = amazon.ca / search?keywords = William + Shatner -B4 = amazon.ca / 12AB;的 amazon.com/AB1 ; loc.gov/fubar -B5 = amazon.com/978037346 ; amazon.de/search?VX123 编辑#2 - 由于我可以将文本转换为列,这个问题怎么样:如何搜索包含amazon.com的任何单元格的行com列A-G,然后将该单元格内容复制到M列?答案 0 :(得分:0)
您可以使用Find/FindB
(取决于您的内容是单字节还是MBCS数据 - 以B
结尾的内容是针对MBCS数据的。)
例如,在N2
中,您可以使用
=Find(M2, B2)
N2
将包含M2
中B2
中文本的偏移量(索引),如果未找到,则为零。
要提取文字,请使用Mid/MidB
和Len/LenB
。您可以在P2
中添加,例如:
=IF(N2 > 0, MID(B2, N2, LEN(M2)), "")
这将检查N2
中的值是否大于零,以及是否从B2
中指示的位置开始复制N2
中的文字以获取字符数以M2
中的文本长度返回。如果N2
为零,则返回空格。
=IF(Find(M2, B2) > 0, Mid(B2, Find(M2, B2), Len(M2)), "")
答案 1 :(得分:-1)