0

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

RRR-GGG-BBB

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

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

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

我尝试使用 MID 函数但没有成功,这总是给我三个字符(正如我定义的......)

=MID(E2,搜索("-",E2,1)+1,3)

谢谢

4

3 回答 3

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)
于 2013-11-04T12:44:10.813 回答
1

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

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

资源

于 2013-11-04T12:37:12.457 回答
0

尝试这个:

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

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

请参阅进行解释。

于 2013-11-04T16:34:11.853 回答