+ -
当前位置:首页 → 问答吧 → 請教 instr()函數

請教 instr()函數

时间:2010-03-05

来源:互联网

偶在EXCEL裏面試驗了多次instr函數的不成功!!請賜教
123*213*23*        #NAME?(INSTR(左邊字符串,“*”))

作者: ttleezhaoyu   发布时间: 2010-03-05

好象不是excel裡面的函數,

給個鏈接你看看:http://office.microsoft.com/zh-tw/access/HA012288571028.aspx


InStr 函數
適用於: Microsoft Office Access 2007
全部顯示
全部隱藏
會傳回 Variant (Long),指定另一個字串內某個字串的第一個出現位置。

查看部分範例
語法

InStr([start, ] string1, string2 [, compare ] )

InStr 函數語法具有下列引數 (引數:將資訊提供給動作、事件、方法、屬性、函數或程序的值。):

引數 說明
start 選用。會設定每個搜尋之開始位置的數值運算式 (數值運算式:計算出數字的任意運算式。運算式可以是變數、常數、函數及運算子的任意組合。)。如果省略,搜尋便會從第一個字元位置開始進行。如果 start 包含 Null (Null:您可以在欄位中輸入,或在運算式或查詢中使用,以指示遺失或未知資料的值。在 Visual Basic 中,Null 關鍵字指示 Null 值。部份欄位 (如主索引欄位) 不可以包含 Null 值。),則會發生錯誤。如果已指定 compare,則需要 start 引數。
string1 必要。要搜尋的字串運算式 (字串運算式:算出一系列連續字元的運算式。運算式的元素可以是:傳回字串或字串 Variant (VarType 8) 的函數;字串文字、常數、變數或 Variant。)。
string2 必要。搜尋的字串運算式。
compare 選用。會指定字串比較 (字串比較:使用運算子來判定一個字串是大於還是等於其他字串。使用 Option Compare 陳述式,可以指定二進制 (區分大小寫) 或文字 (不區分大小寫) 比較。)的類型。如果 compare 為 Null,則會發生錯誤。如果省略 compare,則 Option Compare 設定會決定比較的類型。指定有效的 LCID (LocaleID) 即可在比較中使用地區特定的規則。


設定

compare 引數設定如下:

常數 值 說明
vbUseCompareOption -1 使用 Option Compare 陳述式的設定執行比較。
vbBinaryCompare 0 執行二進位比較。
vbTextCompare 1 執行文字比較。
vbDatabaseCompare 2 僅限 Microsoft Office Access 2007,而且會根據資料庫中的資訊執行比較。


傳回值

若 InStr 傳回
string1 為零長度 0
string1 為 Null Null
string2 為零長度 start
string2 為 Null Null
找不到 string2 0
string1 中找到 string2  找到相符項的位置
start > string2 0


備註

InStrB 函數是與字串內含的位元組資料搭配使用。InStrB 不會傳回另一個字串內的某個字串的第一個字元出現位置,而是傳回位元組位置。

範例
使用運算式中的 InStr 函數  只要是使用運算式的地方,都可以使用 InStr。例如,如果要在包含 IP 位址 (具名 IP 位址) 的欄位中尋找第一個句點的位置 (.),可以使用 InStr 加以尋找,例如:

InStr(1,[IP 位址],".")

InStr 函數會檢查 [IP 位址] 欄位中的每個值,而且會傳回第一個句點的位置。因此,如果 IP 位址的第一個部分是 10.,函數便會傳回 3。

之後您可以使用輸出 InStr 函數時會運作的其他函數,擷取第一個句點前的部分 IP 位址,例如:

Left([IP 位址],(InStr(1,[IP 位址],".")-1))

本例中的 InStr(1,[IP 位址],".") 會傳回第一個句點的位置,如果減去 1,便會決定第一個句點前的字元數目,在本例中即為 2。Left 函數接著會從 [IP 位址] 欄位的左半部擷取許多字元,並且傳回值 10。

使用 VBA 程式碼中的 [InStr]  

附註   下面的範例顯示在 Visual Basic for Applications (VBA) 模組中使用本功能的方式。如需有關搭配使用 VBA 的詳細資訊,請在 [搜尋] 旁邊的下拉式清單中選取 [開發人員參考],並在搜尋方塊中輸入一或多個項目。

這個範例會使用 InStr 函數來傳回另一個字串內的某個字串的第一個出現位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".

' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)   

' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)

' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.

MyPos = Instr(1, SearchString, "W")    ' Returns 0.

作者: foodorwater   发布时间: 2010-03-05

哪;類似的函數在EXCEL是什麽,謝謝~~

作者: ttleezhaoyu   发布时间: 2010-03-05

具體要看看你的要求如何,應該是find函數吧。

作者: foodorwater   发布时间: 2010-03-05

哦,好的,謝謝

作者: ttleezhaoyu   发布时间: 2010-03-05

instr是VBA函数,不是工作表函数。

作者: Zamyi   发布时间: 2010-03-05

使用Search函数!!

作者: 小猴儿   发布时间: 2011-08-07

相关阅读 更多