Excel中用IF函式如何截取我需要的內容?用left,right,mid函式配合if,怎樣截取我需要的內容。如圖所示,用if函式,根據A列的幢,層,庫,座,號,路,來判斷,并截圖后面的內容;如果沒有所判斷的條件,則顯示為1。因為作業性質,所需要判斷的Excel內容達到數萬條,請大神指教


uj5u.com熱心網友回復:
用函式做不了,用VBS吧,可以使用以下vbs函式。方法一:
對每個字串從右到左找第一個數字,找到后將連續的數字回傳
方法二:
按你的要求從右到左找關鍵字(幢,層,庫,座,號,路等),找到后取前面的連續數字回傳。
InStrRev 函式可回傳一個字串在另一個字串中首次出現的位置。搜索從字串的末端開始,但是回傳的位置是從字串的起點開始計數的。
InStrRev 函式可回傳下面的值:
如果 string1 為 ""(零長度) - InStr 回傳 0
如果 string1 為 Null - InStr 回傳 Null
如果 string2 為 "" - InStr 回傳 start
如果 string2 為 Null - InStr 回傳 Null
如果 string2 沒有找到 - InStr 回傳 0
如果在 string1 中找到 string2,InStr 回傳找到匹配字串的位置。
如果 start > Len(string1) - InStr 回傳 0
uj5u.com熱心網友回復:
Function 房號(a As Range)
Dim b As Object
Application.Volatile
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "(\d+)(?=[幢|層|庫|座|號|路|房|卡])"
Set b = .Execute(a.Value)
If .test(a.Value) Then
房號 = b.Item(b.Count - 1)
Else
房號 = 1
End If
End With
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/114204.html
下一篇:2008任務計劃的問題
