匹配格值的前半部分

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)

相关推荐
电饭叔8 分钟前
TypeError:unsupported operand type(s) for -: ‘method‘ and ‘int‘
开发语言·笔记·python
zfj32111 分钟前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
yugi98783814 分钟前
MATLAB在卫星姿态控制系统中的应用
开发语言·matlab
历程里程碑21 分钟前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法
ss27321 分钟前
高并发读场景:写时复制容器(Copy-On-Write)
java·开发语言·rpc
czhc114007566321 分钟前
c# 1213
开发语言·数据库·c#
一人の梅雨1 小时前
淘宝商品视频接口深度解析:从视频加密解密到多端视频流重构
java·开发语言·python
她说..1 小时前
MySQL数据处理(增删改)
java·开发语言·数据库·mysql·java-ee
BD_Marathon1 小时前
【JavaWeb】ServletContext_域对象相关API
java·开发语言
invicinble1 小时前
javase-异常体系
开发语言·spring boot