查找函数

本章节介绍知心插件中提供的查找工具函数,这些函数旨在为 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)