查找函数
本章节介绍知心插件中提供的查找工具函数,这些函数旨在为 Excel 用户提供智能、精准的查找和匹配功能,超越传统的 VLOOKUP/HLOOKUP 方法。
1 智能 VLOOKUP 函数 (zl_NlpLookup)
该函数类似于 Excel 中的 VLOOKUP,但利用自然语言处理技术进行分词和查找,从而获得更精准的语义匹配结果。
Excel 调用语法:
=zl_NlpLookup(lookup_value, table_array, [col_index_num], [include_score], [all_matches], [threshold], [tokenizer_type])
参数说明:
lookup_value 待查找的值(数字或字符串),类似于 VLOOKUP 中的查找值。
table_array 数据矩阵,类似于 VLOOKUP 中的查找范围,其中第一列作为关键查找列。
col_index_num 指定返回结果所在的列号(非必填)。
include_score 是否返回匹配分数,布尔值(默认 False)。
all_matches 是否只返回全匹配结果,布尔值(默认 False)。
threshold 匹配灵敏度阈值(默认 0.3);阈值越高,匹配要求越严格。
tokenizer_type 中文分词引擎,可选 “jieba” 或 “char”;默认情况下,根据传入文本长度自动选择分词方式。
返回值: 返回一个 PDFrame(数据框),包含查找到的结果,及可选的匹配分数。
使用示例:
=zl_NlpLookup(I4, D:E, 1)
2 XLOOKUP 函数 (zl_XLookup)
该函数实现了类似 Excel XLOOKUP 的功能,用于在单行或单列范围中查找指定值,并返回相应的结果。它既可以取代 VLOOKUP,也可以取代 HLOOKUP,适用于更灵活的查找场景。
Excel 调用语法:
=zl_XLookup(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode])
参数说明:
search_key 要查找的值。
lookup_range 要搜索的范围(必须为单行或单列)。
result_range 返回结果所在的范围,其行数或列数应与 lookup_range 相同,取决于查找方式。
missing_value 如果未找到匹配值,则返回该值(默认返回 #N/A)。
match_mode 查找匹配值的方式(默认 0)。
search_mode 搜索 lookup_range 的方式(默认 1)。
返回值: 返回查找到的值;如果未匹配,则返回 missing_value。
使用示例:
=zl_XLookup("Apple", A2:A, E2:E) // 用于取代 VLOOKUP("Apple", A2:E, 5, FALSE)
=zl_XLookup("Price", A1:E1, A6:E6) // 用于取代 HLOOKUP("Price", A1:E6, 6, FALSE)
=zl_XLookup("Apple", E2:E7, A2:A7) // 等效于 VLOOKUP("Apple", {E2:E7, A2:A7}, 2, FALSE)