VLOOKUP函數匹配結果不正確?錯誤結果是怎么得出來的?[已解決]


匹配結果不正確主要是以下2個方面入手:

  • 是否是精確匹配(range_lookup 參數為 FALSE或0)
  • 檢查所有的數據是否帶空格等

 

 

[官方幫助文檔]Microsoft Excel 中 VLOOKUP 函數的語法和用法

語法

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

 

VLOOKUP 函數語法具有下列參數 (參數:為操作、事件、方法、屬性、函數或過程提供信息的值。)

  • lookup_value 必需。要在表格或區域的第一列中搜索的值。lookup_value 參數可以是值或引用。如果為 lookup_value 參數提供的值小於 table_array 參數第一列中的最小值,則 VLOOKUP 將返回錯誤值 #N/A。
  • table_array 必需。包含數據的單元格區域。可以使用對區域(例如,A2:D8)或區域名稱的引用。table_array 第一列中的值是由 lookup_value 搜索的值。這些值可以是文本、數字或邏輯值。文本不區分大小寫。
  • col_index_num 必需。table_array 參數中必須返回的匹配值的列號。col_index_num 參數為 1 時,返回 table_array 第一列中的值;col_index_num 為 2 時,返回 table_array 第二列中的值,依此類推。

    如果 col_index_num 參數:

    • 小於 1,則 VLOOKUP 返回錯誤值 #VALUE!。
    • 大於 table_array 的列數,則 VLOOKUP 返回錯誤值 #REF!。
  • range_lookup 可選。一個邏輯值,指定希望 VLOOKUP 查找精確匹配值還是近似匹配值:
    • 如果 range_lookup 為 TRUE 或被省略,則返回精確匹配值或近似匹配值。如果找不到精確匹配值,則返回小於 lookup_value 的最大值。

      要點 如果 range_lookup 為 TRUE 或被省略,則必須按升序排列 table_array 第一列中的值;否則,VLOOKUP 可能無法返回正確的值。

      如果 range_lookup 為 FALSE,則不需要對 table_array 第一列中的值進行排序。

    • 如果 range_lookup 參數為 FALSEVLOOKUP 將只查找精確匹配值。如果 table_array 的第一列中有兩個或更多值與 lookup_value 匹配,則使用第一個找到的值。如果找不到精確匹配值,則返回錯誤值 #N/A。

注解

  • table_array 的第一列中搜索文本值時,請確保 table_array 第一列中的數據不包含前導空格、尾部空格、非打印字符或者未使用不一致的直引號(' 或 ")與彎引號(‘ 或 “)。否則,VLOOKUP 可能返回不正確或意外的值。

    在搜索數字或日期值時,請確保 table_array 第一列中的數據未存儲為文本值。否則,VLOOKUP 可能返回不正確或意外的值。

  • 如果 range_lookup 為 FALSE 且 lookup_value 為文本,則可以在 lookup_value 中使用通配符 - 問號 (?) 和星號 (*)。問號匹配任意單個字符;星號匹配任意字符序列。如果要查找實際的問號或星號,請在字符前鍵入波形符 (~)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM