我有一个文件名格式如下的列: somenumber_sometext_1_100_AA 这些文件名在A列中。我需要扫描每个单元格中的每个文件名并复制数字1并将其粘贴到B列并复制数字100并将其粘贴到C列中,所有行都与文件名相同。然后我想在A列中重复下一个单元格。 帮助将不胜感激!
答案 0 :(得分:1)
使用:
3141543_junktext_4563_10098_ZZ
单元格 A1 B1 输入:
=TRIM(MID(SUBSTITUTE($A1,"_",REPT(" ",999)),COLUMNS($A:C)*999-998,999))
并在 C1 中输入:
=TRIM(MID(SUBSTITUTE($A1,"_",REPT(" ",999)),COLUMNS($A:D)*999-998,999))
显示 4563 和 10098
答案 1 :(得分:1)
如果每个部分都是分隔的(即在示例中为_
),则将文本转换为列作为分隔符,然后删除最后一列和前两列可能很方便。
(但首先复制到新列,否则您将丢失源数据。)
答案 2 :(得分:1)
由于这是用VBA标记的,我将提供一个简单的vba宏解决方案。
最简单的方法是定义一个名为splitText(test,delim,n)的VBA函数,该函数将使用分隔符拆分文本,并获取第n列。这是非常常见的,我希望他们能够使它成为标准。
Function splitText(txt As String, delim As String, n As Integer)
splitText = split(txt, delim)(n)
End Function
然后,如果字符串是A1,则将其放在B1:
中=splitText(A1,"_",2)
这在C1:
=splitText(A1,"_",3)