匹配格值的前半部分

Excel有多列含空格的源数据,如C3:D19;还有若干用于比较的数据项,由"-"隔为前后两部分,如F3:F7。

要求用源数据的每列与数据项的前半部分进行比较,将匹配上的数据项填在该列下面。

使用 SPL XLL

=spl("=d=transpose@n(?1),transpose@n(d.(E@1(?2).select(d.~.pos(substr@l(~,$[-])))))",C3:D19,F3:F7)

函数 transpose@n 用于序列转置,E@1 将多层序列转为单层。substr@l在一个字符串中搜索符号并返回符号之前的子串,注意是字母 l。pos判断序列是否包含某个成员,~ 表示当前成员。

上面用一个公式处理了所有列,也可以用下面公式先在 C21 处理 C 列,再将公式拖动到其他列。

=spl("=E@1(?2).select(E@1(?1).pos(substr@l(~,\[-\])))",C3:C19,F3:F$7)

相关推荐
aini_lovee5 分钟前
C#与倍福PLC(通过ADS协议)通信上位机源程序实现
开发语言·c#
fie88899 分钟前
基于 MATLAB 的前景背景分割系统
开发语言·matlab
郝学胜-神的一滴19 分钟前
Qt 入门 01-02: 开发环境搭建指南
开发语言·c++·qt·客户端
铅笔小新z1 小时前
【C语言】数据类型和变量
c语言·开发语言
code_whiter1 小时前
C++11(stack和queue)
开发语言·c++
最后一支迷迭香1 小时前
苹果的MacOS系统适合做Java开发吗
java·开发语言·macos
m0_739030001 小时前
[特殊字符] Java 高频面试题汇总
java·开发语言·面试
2zcode1 小时前
基于MATLAB的5G物理层文本传输系统仿真与性能分析
开发语言·5g·matlab
城数派1 小时前
1958-2024年乡镇的逐月土壤湿度数据
数据库·arcgis·数据分析·excel
feifeigo1231 小时前
基于布谷鸟算法的配电网分布式电源选址定容 MATLAB 实现
开发语言·算法·matlab