超级匹配

超级匹配 公开 已发布

如何安装动作?

适用于
分类(旧)



更多信息
分享时间 14小时32分钟前
最后更新 14小时25分钟前
修订版本 2
用户许可 -未设置-
Quicker版本 2.1.13
动作大小 7 KB

分享到

「从总库中只能筛选匹配部分内容,如从姓名+学号中找到 某些学生的学号」

简介

🎯 功能概述

超级匹配 是一个智能的“字典式”筛选工具,它可以根据你提供的一个 查询列表lookFor),在另一个 数据表allStr)中快速查找对应的 匹配值(例如学号、编号、邮箱等),并按照原始顺序输出结果。

亮点:自动识别姓名列 —— 无需事先知道数据表是“姓名→编号”还是“编号→姓名”,动作会通过统计自动判断,适配任意两列数据。


📥 输入

动作需要两个输入源,都通过剪贴板或选中文本获取:

输入变量内容说明获取方式
lookFor查询列表,每行一个要查找的关键词(如姓名)第一步会自动读取剪贴板内容存入
allStr数据表,每行两个字段(以制表符空格分隔),两列中一列是关键词,另一列是要提取的值第二步会读取当前选中的文本存入(需手动选中后触发动作)

📌 操作流程

  1. 复制你要查找的“关键词列表”到剪贴板。

  2. 选中包含“数据表”的文本(例如从 Excel、文本文件等)。

  3. 运行动作,即可自动完成匹配,并将结果存入剪贴板。


🔧 匹配逻辑(自动识别列)

动作会自动判断数据表中哪一列是“关键词列”(即与 lookFor 匹配的列),哪一列是“值列”,具体方法:

  • 统计 allStr 的第一列和第二列中,分别有多少个值出现在 lookFor 列表里;

  • 匹配次数较多的一列被视为关键词列,另一列即为目标值列;

  • 如果两列匹配次数相同,默认将第一列作为关键词列。

🧠 这意味着:无论你的数据表是 姓名\t学号 还是 学号\t姓名,动作都能正确处理,完全不用你操心。


📤 输出结果

匹配完成后,动作会:

  1. lookFor 的原始顺序,每行输出一个对应的“值”(如学号)。

  2. 如果某个关键词在数据表中 找不到,则该行输出 NCF(Not Found 的缩写)。

  3. 最终结果会:

    • 存入系统剪贴板(可直接粘贴使用);

    • 同时存入一个名为 result 的动作变量(方便后续步骤调用)。


📝 示例

查询列表(lookFor)

text
薛一诺
冯永珉
贾文烁
唐浩
武博

数据表(allStr)—— 可能是“学号\t姓名”顺序

text
253206	冯永珉
253219	武博
253231	薛一诺
253225	唐浩
253243	贾文烁

输出结果(按 lookFor 顺序)

text
253231
253206
253243
253225
253219

如果某个姓名(如“张伟”)不在表中,则输出 NCF


⚙️ 自定义与注意事项

项目说明
分隔符默认支持 制表符 \t空格,如果你的数据用逗号等其他字符,可在 C# 脚本中修改 Split(new char[] { '\t', ' ' }, ...) 部分
重复关键词若数据表中同一关键词出现多次,默认取最后一次出现的对应值
空行处理自动忽略空行,不会影响结果行数
输出格式默认只输出值(每行一个),如需同时输出“关键词+值”,可修改脚本中的 result.Add(val)result.Add(name + "\t" + val)
错误提示若输入变量缺失或数据表无效,会弹出消息框提示

🛠️ 适用场景

  • 根据名单从表格中提取对应的编号/ID/学号等;

  • 批量查数据(如电话簿、工号对照);

  • 从多行文本中按特定顺序筛选信息;

  • 快速实现“VLOOKUP”式查找,无需 Excel 公式。

最近更新

修订版本 更新时间 制品 审核状态 更新说明
2 14小时25分钟前 V1 审核通过 当前公开 V1 增加了使用说明
1 14小时32分钟前 V1 待审核

最近讨论

暂无讨论