You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用动态数组对Excel动态数组进行非精确匹配筛选?

Excel动态数组非精确匹配筛选方案

可以通过组合FILTER、SEARCH、MMULT等函数实现包含式匹配的动态筛选,以下是具体公式和说明:

基础公式(直接使用)

=FILTER(F1#, MMULT(--ISNUMBER(SEARCH(C1#, TRANSPOSE(F1#))), ROW(C1#)^0)>0, "无匹配结果")

拆分解释

  • SEARCH(C1#, TRANSPOSE(F1#)):将待搜索数组F1#转置后,用条件数组C1#的每个元素逐一搜索,返回匹配位置(成功)或错误值(失败)。
  • --ISNUMBER(...):将匹配结果转换为二进制矩阵——匹配成功转1,失败转0,形成「条件×待匹配元素」的二维数组。
  • MMULT(..., ROW(C1#)^0):通过矩阵乘法对每一列(对应一个待匹配元素)求和,结果>0则表示该元素至少匹配一个条件。
  • FILTER(...):根据求和结果筛选出符合条件的元素,无匹配时返回指定提示文本。

优化版(含空值过滤)

如果条件数组C1#可能存在空白单元格,先过滤空值避免无效匹配:

=LET(
    有效条件, FILTER(C1#, C1#<>""),
    待匹配数组, F1#,
    匹配状态, --ISNUMBER(SEARCH(有效条件, TRANSPOSE(待匹配数组))),
    匹配判定, MMULT(匹配状态, ROW(有效条件)^0)>0,
    FILTER(待匹配数组, 匹配判定, "无匹配结果")
)

注意事项

  • 若需要区分大小写的匹配,将SEARCH替换为FIND函数即可。
  • 公式会自动适应C1#和F1#的动态变化,无需手动调整范围。

内容的提问来源于stack exchange,提问作者Unrequest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:34:59