本主題針對 FIND/FINDB 和 SEARCH/SEARCHB 函數中發生 #VALUE! 錯誤的常見案例提供相關協助。

FIND 和 SEARCH 函數的幾點注意事項

  • FIND 和 SEARCH函數非常類似。 這兩個字串的作業方式相同:找出另一個文字字串中的字元或文字字串。 這兩個函數的差異在於 FIND 區分大小寫,而 SEARCH 不區分大小寫。 因此,如果您不想在文字字串中符合大小寫,請使用 SEARCH。

  • 如果您想要根據指定的字元數傳回字串的函數,請搭配 FIND 使用 MID 函數。 如需使用 MID 和 FIND 組合的相關資訊和範例,請參閱 FIND 說明主題。

  • 這些函數採用相同的語法:find_text, within_text, [start_num])。 這個語法的意思是:您想要尋找什麼?您想在哪裡搜尋?您想從哪個位置開始搜尋?

問題:在 within_test 字串中找不到 find_text 引數中的值

如果函數找不到指定文字字串中的文字,就會傳回 #VALUE! 錯誤。

例如,假設函數如下所示:

  • =FIND("gloves","Gloves (Youth)",1)

這會傳回 #VALUE! 錯誤,因為在字串中找不到相符的「gloves」,只找得到「Gloves」。 請記得,FIND 會區分大小寫,因此請確認 find_text 中的值與 within_text 引數中的字串大小寫完全一致。

不過,此 SEARCH 函數會傳回 1 這個值,因為它不會區分大小寫:

  • =SEARCH("gloves","Gloves (Youth)",1)

解決方案: 如有需要,請更正語法。

問題:start_num 引數設為零 (0)

start_num 引數為選擇性的引數,如果您忽略它,預設的值會是 1。 不過,如果語法中出現這個引數,且其值設為 0,則您就會收到 #VALUE! 錯誤。

解決方案: 如果不需要 start_num, 請移除該引數,或將其設定為正確的適當值。

問題:start_num 引數大於 within_text 引數

例如,假設函數為:

  • =FIND(“s”,”Functions and formulas”,25)

此函數會「Functions and for mulas」字串 (within_text) 的第 25 個字元 (start_num) 開始尋找「s」,但由於該字串只有 22 個字元,因此會傳回 #VALUE! 錯誤。

提示: 若要尋找文字字串中的字元總數,請使用 LEN function

解決方案: 如有需要,請更正起始編號。

對特定函數有任何問題嗎?

在 Excel 社群論壇張貼問題

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家,或是在 Answers 社群取得支援。

另請參閱

修正 #VALUE! 錯誤

FIND/FINDB 函數

SEARCH/SEARCHB 函數

Excel 公式概觀

如何避免公式出錯

偵測公式中的錯誤

所有Excel函數 (字母)

所有 Excel 函數 (依類別)

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對翻譯品質的滿意度為何?
會影響您使用體驗的因素為何?

感謝您的意見反應!

×