在excel文件裡想從很長的檔案路徑中取得檔名,【資料】→【分列】是個不錯的選擇,但用函式會顯得更高大上一些。
首先,需要獲取最後乙個"\"所在的位置。
方法1:
find("@",substitute(a1(字串所在單元格),"\","@",len(a1)-len(substitute(a1,"\",""))))
這個比較好理解,只要理解了substitute第四個引數的作用就好。
substitute第四個引數:可選。指定要用 new_text 替換 old_text 的事件。如果指定了 instance_num,則只有滿足要求的 old_text 被替換。否則,文字**現的所有 old_text 都會更改為 new_text。
例:substitute案例
所以,整個函式的意思是把字串中最後乙個"\"替換成字串中沒出現過的其他字元(如「@」),然後在查詢這個沒出現過的字元所在的位置就可以了。
方法2:
lookup(1,0/(mid(a1(字串所在單元格),column(1:1),1)="\"),column(1:1))
這個理解起來比較難。
先來理解column(1:1)的意思:
在空白excel文件裡選中第一行,在編輯欄裡輸入=column(1:1),再按ctrl+shift+enter組合鍵
可以看到column(1:1)的結果是乙個1~16384的陣列。
再看(mid(a1(字串所在單元格),column(1:1),1)="\"),作用是乙個個取出字串中的字元,並判斷是否與"\"相同,相同則返回true,否則返回false。
0/true得0,0/false得
所以lookup(1,0/(mid(a1(字串所在單元格),column(1:1),1)="\"),column(1:1))的結果是
excel幫助裡的備註:
本例中的lookup函式在0/(mid(a1(字串所在單元格),column(1:1),1)="\")裡是找不到1的,所以它找到的是0,但在0/(mid(a1(字串所在單元格),column(1:1),1)="\")裡有多個0,從結果來看,它找到的是最後乙個0。
查詢字串中某個字元出現的位置以及次數
1.實現思路 1.首先利用indexof 要查詢的字元 方法找到第乙個字元o出現的位置 var index str.indexof o 2.然後在字元o第一次出現的位置後面繼續查詢其他的字元o,利用indexof 要查詢的字元 index 1 方法 3.迴圈操作,只要不等於 1 就一直查詢 2.演示...
mysql中查詢欄位中包含某個字元
mysql查詢如何判斷字段是否包含某個字串 有這樣乙個需求,在mysql資料庫字串字段 許可權 中,使用者有多個不同的郵箱,分別被 分開,現在要取出某個郵箱的所有成員列表。mysql 中有些欄位是字串型別的,如何查詢其中包含某些字元的記錄呢?方法一很簡單可以用 來實現 比如select fromus...
python查詢字串內的某個字元,進行操作
找出每一行中的某個欄位來進行識別,並在後面新增此標記的內容 coding utf 8 查詢每個字串中是否包含某個字元,在該字串後新增東西 或者使用replace方法進行替換 import re def fenhang infile,outfile infopen open infile,r enco...