Excel查找最后两个下划线之间的文本
我需要一个excel公式来查找excel单元格中最后两个下划线之间的文本:
即
AAA_BBB_CCC_DDDD_E => DDDD
AAA_BBB_CCC_DDD_EEE_E => EEE
AAA_BBB_CCC_DDD_EEE_F_ => F
AAA_BBB_CCC_DDD_EE_GGGGGGGGGG => EE
AAA_BBB_CCC_DDD_EEE_FFF_GGGGGGGGGGGG_H => GGGGGGGGGGGG
我得到的公式是基于最后一个指数: EXCEL LAST INDEX OF
=RIGHT(LEFT(A2,SEARCH("@",SUBSTITUTE(A2,"_","@",LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))-1),LEN(LEFT(A2,SEARCH("@",SUBSTITUTE(A2,"_","@",LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))-1))-SEARCH("@",SUBSTITUTE(LEFT(A2,SEARCH("@",SUBSTITUTE(A2,"_","@",LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))-1),"_","@",LEN(LEFT(A2,SEARCH("@",SUBSTITUTE(A2,"_","@",LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))-1))-LEN(SUBSTITUTE(LEFT(A2,SEARCH("@",SUBSTITUTE(A2,"_","@",LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))-1),"_","")))))
我需要使这个更简单,任何想法?
尝试这个
=TRIM(LEFT(RIGHT(SUBSTITUTE(H3,"_",REPT(" ",100)),200),100))
请注意,如果任何分段的长度超过50个字符,请相应地增加100和200个数字
克里斯的解决scheme非常整洁 – 但是,我也想出了一个替代scheme。
=MID(A1,1+SEARCH("@", SUBSTITUDE(A1,"_","@",LEN(A1)-1-LEN(SUBSTITUDE(A1,"_","")))), SEARCH("@",SUBSTITUDE(A1,"_","@",LEN(A1)-LEN(SUBSTITUDE(A1,"_",""))))-1- SEARCH("@",SUBSTITUDE(A1,"_","@",LEN(A1)-1-LEN(SUBSTITUDE(A1,"_","")))))
这是另一个变化…..
=MID(A1,FIND("^",SUBSTITUTE(A1,"_","^",LEN(A1)-LEN(SUBSTITUTE(A1,"_",""))-1))+1,SUM(FIND("^",SUBSTITUTE(A1,"_","^",LEN(A1)-LEN(SUBSTITUTE(A1,"_",""))-{0,1}))*{1,-1})-1)