我有以这种格式表示一些 RGB 颜色的单元格:
RRR-GGG-BBB
可以看到每种颜色都用“-”号隔开。
我需要的是获取“GGG”数据,例如,如果我有:12-1-256 - 输出单元格应该是“1”。
请注意,颜色并不总是 3 个字符,它们也可以是 2 或 1。
我尝试使用 MID 函数但没有成功,这总是给我三个字符(正如我定义的......)
=MID(E2,搜索("-",E2,1)+1,3)
谢谢
我有以这种格式表示一些 RGB 颜色的单元格:
RRR-GGG-BBB
可以看到每种颜色都用“-”号隔开。
我需要的是获取“GGG”数据,例如,如果我有:12-1-256 - 输出单元格应该是“1”。
请注意,颜色并不总是 3 个字符,它们也可以是 2 或 1。
我尝试使用 MID 函数但没有成功,这总是给我三个字符(正如我定义的......)
=MID(E2,搜索("-",E2,1)+1,3)
谢谢
您需要使用 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)
这应该可以解决问题,具体取决于您可能需要更改;
的语言设置,
=LEFT(RIGHT(A1; LEN(A1)-FIND("-"; A1)); FIND("-";RIGHT(A1; LEN(A1)-FIND("-"; A1)))-1)