使用另一个单元格的子字符串在Excel中填充单元格

时间:2016-04-06 20:53:55

标签: excel excel-vba csv substring vba

在Excel中,我有一个CSV,其中列A填充了类似字符串的类别,例如:

ABCDE / FGHI / JKL / MNOPQR

我需要使用" /"的最后一次出现后的所有内容的子字符串值自动填充C列。在这个例子中,它必须用" MNOPQR"

填充

是否有可用于此的功能? " RIGHT"似乎没有做到这一点。我不知道每行中子串的长度是多少,所以我必须能够找到" /"。

2 个答案:

答案 0 :(得分:2)

如果您的文字是A4,请将其放在另一个单元格中:

=MID(A4,LEN(LEFT(A4,FIND(CHAR(1),SUBSTITUTE(A4,"/",CHAR(1),LEN(A4)-LEN(SUBSTITUTE(A4,"/",""))))))+1,LEN(A4)-LEN(LEFT(A4,FIND(CHAR(1),SUBSTITUTE(A4,"/",CHAR(1),LEN(A4)-LEN(SUBSTITUTE(A4,"/",""))))))+1)

我认为这应该有效。感谢主要部分@Jerry,它找到了字符串中的最后一个/

编辑:为什么要downvote?这个对我有用: enter image description here

编辑2: 根据@ScottCraner,这更短:=MID(A1,SEARCH("}}}",SUBSTITUTE(A1,"/","}}}",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))‌​))+1,LEN(A1))

答案 1 :(得分:1)

这是一个更短的公式,用于返回字符串中最后一个分隔的子字符串。

=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",99)),99))

用99个空格替换分隔符,然后返回最右边的99个字符。前导字符也必须是空格,因此TRIM可以删除它们。