excel - 在“ - ”字符之间获取字符串

时间:2013-11-04 12:31:48

标签: excel

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

RRR-GGG-BBB

您可以看到每种颜色都用“ - ”符号分隔。

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

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

我试图使用MID功能但没有成功,这给了我三个字符(正如我定义的那样......)

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

谢谢

3 个答案:

答案 0 :(得分:2)

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

例如,如果您的字符串位于单元格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)

答案 1 :(得分:1)

这应该可以解决问题,具体取决于您可能需要通过;更改,的语言设置

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

Source

答案 2 :(得分:0)

试试这个:

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

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

请参阅this了解相关信息。