你想要n在单元格中给出的字符串中的两个空白空间之间。所以,像“收据2356.14789亚马逊”这样的字符串,我们必须找到空白的pos。
现在,找到字符串的第n个空间中的位置,我们可以用这些公式
1st Position : =find(" ",a1)
2nd Position : =find(" ",a1,find(" ",a1)+1)
3rd Position : =find(" ",a1,find(" ",a1,find(" ",a1)+1)+1)
...........
Nth position : =find(" ",a1,find(" ",a1,find(" ",a1,find(" ",a1,......n-1 times find(" ",a1)+1)+1)+1.....n-1 times +1)
因此,使用上述公式发现第一和第二空白字符串:
我们的价值观B1和C1中的8和19是字符串中空格的位置。现在,我们期望的结果必须是,让字符串是当时的
s with removal of "receipt " & " amazon"
现在我们可以使用MID函数来获取输出。 MID函数:=MID(text,start_num,num_chars)
从文本字符串的中间返回字符,给定起始位置和长度。因此,我们有起始位置,即第一个空白位置(8),我们必须计算num_chars即长度。
要计算长度,我们有以下的计算来做:
subtract the len of "amazon" from total len of string
length of substring s2 : =len(a1)- FIND(" ",A1,FIND(" ",A1)+1) which is second blank pos.
add len of sub string1 and sub string2
s2 + FIND(" ",A1)
现在,使用中期功能,我们会得到,
=MID(A1,FIND(" ",A1),F1,(LEN S1+ LEN S2))
现在修剪这个值,因为它会被包含在一个空白开始“收据”。
=trim(MID(A1,FIND(" ",A1),F1,(LEN S1+ LEN S2)))
所以,最终的公式如下:
=TRIM(MID(A1,FIND(" ",A1),LEN(A1)-FIND(" ",A1,FIND(" ",A1)+1)+FIND(" ",A1)))
第2种方法:
使用与划界选择空间。快捷键ALT-> A-> A-> E,分隔选择空格,然后输入。
输出:
您仍然可以确定如果您知道文本字符串的长度,即其始终为“收据*。## [存储]”,则数字的长度。您可以通过从单元格字符串的总长度中减去文本字符的总数(如果已知)来计算长度。不知道还有什么要添加在这里。你尝试过什么公式? – nbayly
在这个问题中引用了一个非常整洁的公式 - 不确定它来自哪里http://stackoverflow.com/questions/37721709/extract-nth-occurance-number-from-string/37730872#37730872(没有人喜欢我的VBA努力!),但如前所述,如果前面总是有“收据”,而且之后有空间,则可以大量简化它。 –
请参阅下面的简单公式谷歌床单 –