亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不使用VBA的情況下在Excel中執行反向字符串搜索?

如何在不使用VBA的情況下在Excel中執行反向字符串搜索?

湖上湖 2019-11-06 10:19:06
我有一個包含字符串列表的Excel電子表格。每個字符串由幾個單詞組成,但是每個字符串中的單詞數量不同。使用內置的Excel函數(無VBA),是否可以隔離每個字符串中的最后一個單詞?例子:  您被歸類為人類嗎?->人類?負面,我是肉冰棍->冰棍                  阿齊茲!光!->輕!
查看完整描述

3 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

該代碼已經過測試并且可以正常工作(基于Brad的原始帖子):


=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",

     LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

如果您的原始字符串可能包含豎線“ |” 字符,然后用不會在您的源代碼中出現的其他字符替換上面的兩個字符。(我懷疑Brad的原件已損壞,因為在翻譯中刪除了無法打印的字符)。


獎勵:工作原理(從右到左):


LEN(A1)-LEN(SUBSTITUTE(A1," ",""))–原始字符串中的空格計數

SUBSTITUTE(A1," ","|", ... )– 用a 替換最后一個空格|

FIND("|", ... )–查找被替換的絕對位置|(即最后一個空格)

Right(A1,LEN(A1) - ... ))–返回此后的所有字符|


編輯:要解決源文本不包含空格的情況,請將以下內容添加到公式的開頭:


=IF(ISERROR(FIND(" ",A1)),A1, ... )

現在制作整個公式:


=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",

    SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))

或者,您可以使用=IF(COUNTIF(A1,"* *")其他版本的語法。


當原始字符串的最后一個位置可能包含空格時,請在計算所有空格時添加修剪函數:使函數具有以下含義:


=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",

    SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))


查看完整回答
反對 回復 2019-11-06
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

這是我成功使用的技術:


=TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

要獲得字符串中的第一個單詞,只需從RIGHT更改為LEFT


=TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

另外,將A1替換為包含文本的單元格。


查看完整回答
反對 回復 2019-11-06
  • 3 回答
  • 0 關注
  • 1055 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號