excel – 在“ – ”字符之间获取string

我有这样的格式代表一些RGB颜色的单元格:

RRR-GGG-BBB

你可以看到每个颜色都被“ – ”号隔开。

我需要的是获得“GGG”数据,例如,如果我有:12-1-256 – 输出单元应该是“1”。

请注意颜色并不总是3个字符,也可以是2或1。

我试图使用MIDfunction没有成功,这给了我总是三个字符(如我所定义的…)

= MID(E2,SEARCH( “ – ”,E2,1)+1,3)

谢谢

这应该做的伎俩,取决于你可能需要改变你的语言设置;,

 =LEFT(RIGHT(A1; LEN(A1)-FIND("-"; A1)); FIND("-";RIGHT(A1; LEN(A1)-FIND("-"; A1)))-1) 

资源

您需要使用FIND()来获取 – 字符的索引,然后使用LEFT()和RIGHT()来提取这些索引之间的字符。

例如,如果您的string在单元格A1中,则可以这样做:

 Set B1 to =FIND("-",A1) ' gives you index of first - set C1 to =LEFT(A1,B1-1) ' gives you RRR set D1 to =RIGHT(A1,LEN(A1)-B1) ' gives you GGG-BBB set E1 to =FIND("-",D1) ' gives you index of second - set F1 to =LEFT(D1,E1-1) ' gives you GGG set G1 to =RIGHT(D1,LEN(D1)-E1) ' gives you BBB 

如果你愿意的话,你当然可以把它们组合成一个单一的公式,通过代替我给出的公式中的部分来得到GGG,就像这样:

 set B1 to =LEFT(RIGHT(A1,LEN(A1)-FIND("-",A1)),FIND("-",RIGHT(A1,LEN(A1)-FIND("-",A1)))-1) 

尝试这个:

=TRIM(MID(SUBSTITUTE(A1,"-",REPT(" ",999)),2*999-998,999))

"-"是分隔符, 2是第二项。

看到这个解释。