请帮助,我有一个数据集,其中包含一列文本,其中包含用户提及及其推文。我想提取EXCEL中推文中提到的所有用户。换句话说,我想执行此任务:对于列中的每一行,如果行的单元格值包含以@开头并以空格结尾的文本,则将该字符串值放在另一列中,每个单元格可能包含更多比一个字符串的出现(在推文中提到的多个用户)。问题是可能与EXCEL公式有关而不是编码?如果是的话,请你指导我使用哪种配方..如果没有,你知道一个很好的方法/方法来完成这项任务吗?请不要向我发送文档链接,如果您有完整的代码来执行此任务,或者知道可以执行此操作的软件/工具,那将非常棒。感谢您的帮助。
答案 0 :(得分:2)
这只是部分解决方案。它检索由" @"界定的第一个文本实例。和一个空间。对于 A1 中的数据,在 B1 中输入:
=LEFT(MID(A1,FIND("@",A1)+1,9999),FIND(" ",MID(A1,FIND("@",A1)+1,9999)))
例如:
答案 1 :(得分:2)
我建议您将此任务分解为多个列,以了解这些公式如何协同工作以获得答案。
列标题
Column A = Your Data
Column B = First Start = Find the first occurrence of @
Column C = First End = Find the end of the first occurrence with a space
Column D = Second Start = Find the Second occurrence of @
Column E = Second End = Find the end of the second occurrence with a space
Column F = First Twitter Account = MID the First Start/End
Column G = Second Twitter Account = Mid the Second Start/End
<强>公式强>
Column A = "An Example @Tweet with @two mentions"
Column B = Find("@",A2)
Column C = FIND(" ",A2,B2)
Column D = FIND("@",A3,C3)
Column E = FIND(" ",A3,D3)
Column F = MID(A2,B2,C2-B2)
Column G = MID(A2,D2,E2-D2)
您可以为尽可能多的&#34;提及重复上述模式。如所须。你可以通过计算每个字符串中有多少@符号来学习,并确保编写足够的公式来容纳这个数字。
你可以将上述所有内容混合成一个公式,但这将是一个野兽。
请记住,如果提及&#34;在字符串的END处生成,上面的公式将不计算它。即在你的问题中,你提到提及在一个空格中结束,如果它发生在推文的末尾,情况可能并非如此。
答案 2 :(得分:1)
虽然用[excel-vba]标记,但你没有提供代码,并且你的标题中有公式,所以我建议:
@
替换为|@
,其中第一个字符与众不同(处理数据副本,选择全部,HOME&gt;编辑 - 查找和选择,替换...,查找什么:@
替换为:|@
,全部替换。)|
,完成。 在第一个完全空的列中:
=IF(LEFT(A1)="@",LEFT(A1,FIND(" ",A1)),"")
复制了之前被占用的列数,然后将所有公式复制到适合的位置。
这应该可以处理任何一个单元格中不确定数量的@
个实例,以及最后一个实例后面没有空格的位置。