excel中如何提取右侧第一个指定字符两边各2个字符?

excel中如何提取右侧第一个指定字符两边各2个字符,如下图!!!

你提问题首先要说明原字符串具体有那些情况,这里能看明白你想提取最后一个时间,但是,最后一个时间后面会出现那些文字?或说可能会出现几个文字?
下面这个公式可以提取最后一个时间后面有0至4个文字时的时间:

=MID(H16,LEN(H16)-9+FIND(":",RIGHT(H16,7)),5)
如果最后一个时间后面的文字有可能多于4个字以上,那么就要用数组公式,下面这个公式真正的是你所求的右侧指定字符":"两边各2个字符。
=MID(H16,LEN(H16)-MATCH(":",MID(H16,LEN(H16)-ROW(INDIRECT("1:"&LEN(H16)))+1,1),0)-1,5)
公式输完后,按下CTRL+SHIFT+ENTER生成数组公式。
-------------------------------------------------------------------
不用按三键组合的通用公式:
=MID(H16,LOOKUP(1,0/(MID(H16,ROW(1:999),1)=":"),ROW(1:999))-2,5)追问

请问为什么公示输完后,必须要按下“CTRL+SHIFT+ENTER”,可以有其他的替代的办法吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-29

B1单元格输入并下拉公式=MID(A1,FIND("@",SUBSTITUTE(A1,CHAR(10),"@",LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10), ))))+1,5)

第2个回答  2021-12-29

可以使用如下的公式:

=MID(A1,FIND(":",A1)-2,5)

第3个回答  2021-12-28
要提取21:40这个数据中分号前面的21,
用left函数配合find函数可以达到目的;
提取分号后面的40,用right函数配合len函数和find函数可以达到目的。
第4个回答  2021-12-29
假设数据在A1,在B1用公式:
=LEFT(TRIM(RIGHT(SUBSTITUTE(A1,CHAR(10),REPT(" ",200)),200)),5)