Excel从右向左匹配

SDFSDFSDFSDF
俞兆林 睡衣女家居服男士情侣睡衣长袖开衫纯棉休闲家居服套装可外穿 女款粉色套装 L3341女款粉色套装 L
俞兆林 睡衣女家居服男士情侣睡衣长袖开衫纯棉休闲家居服套装可外穿 女款粉色套装 XL3342女款粉色套装 XL
米翡莉 睡衣女家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 女时尚粉色 L3643女时尚粉色 L
米翡莉 睡衣女家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 女时尚粉色 M3643女时尚粉色 M
米翡莉 睡衣家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 男时尚藏青 XL3543男时尚藏青 XL
米翡莉 睡衣家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 男时尚藏青 L3542男时尚藏青 L
米翡莉 睡衣家居服加厚法兰绒长袖浴袍情侣睡衣男女士秋冬撞色可外穿时尚睡袍 男藏青 XL3743男藏青 XL
米翡莉 睡衣家居服加厚法兰绒长袖浴袍情侣睡衣男女士秋冬撞色可外穿时尚睡袍 男藏青 L3742男藏青 L
米翡莉 睡衣家居服加厚法兰绒长袖浴袍情侣睡衣男女士秋冬撞色可外穿时尚睡袍 男藏青 XXL3744男藏青 XXL

 

B列公式=SEARCH(" ",A2,21)

C列公式=LEN(A2)

D列公式=RIGHT(A2,C2-B2)

因为部分商品名称有男,也有女,故此需求达到的效果如上,筛选条件空格,因为前面有空格,所以search检索空格的位置变成从第21位开始检索,所有的LEN都远超21位,且21位刚好避过最长的前面的第一个空格。作为一个参考思路

最后,公式优化如上:=RIGHT(A2,LEN(A2)-SEARCH(" ",A2,21))

SDFSDFSDFSDFsdf
俞兆林 睡衣女家居服男士情侣睡衣长袖开衫纯棉休闲家居服套装可外穿 女款粉色套装 L3341女款粉色套装 L
俞兆林 睡衣女家居服男士情侣睡衣长袖开衫纯棉休闲家居服套装可外穿 女款粉色套装 XL3342女款粉色套装 XL
米翡莉 睡衣女家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 女时尚粉色 L3643女时尚粉色 L
米翡莉 睡衣女家居服加厚法兰绒长袖浴袍情侣睡衣男女士冬季经典可外穿睡袍 女时尚粉色 M3643女时尚粉色 M

 

最后使用=LEFT(D2,1)验证,确认无误,在前面加一个Search函数即可实现从右向左筛选男女性别

IF(ISERR(SEARCH("女",RIGHT(A2,LEN(A2)-SEARCH(" ",A2,21)),1)),"男","女")

其中ISERR是判断一个值是否是#N/A以外的错误

### Excel 中实现指定列的精确匹配 #### 使用 `VLOOKUP` 函数进行精确匹配Excel 中,`VLOOKUP` 是一种非常强大的工具,用于在一个范围内查找特定值并返回相应列的数据。对于精确匹配的需求,可以通过设置第四个参数来确保只返回完全一致的结果。 语法如下: ```excel =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) ``` 其中: - `lookup_value`: 要查找的值。 - `table_array`: 查找区域。 - `col_index_num`: 返回值得所在列号。 - `[range_lookup]`: 是否近似匹配,默认为 TRUE (近似),FALSE 表示仅当找到确切相等项时才返回结果[^1]。 例如,假设有一个工作表 Sheet1 和另一个包含对照关系的工作表 Sheet2。现在希望基于 Sheet1 的 A 列中的编号,在 Sheet2 找到对应的名字,并将其填入 B 列,则可以在 Sheet1 的 B2 单元格输入以下公式[^4]: ```excel =VLOOKUP(A2, Sheet2!$A$2:$B$14, 2, FALSE) ``` 这会告诉 Excel 去寻找 Sheet2 上从第二行至第十四行之间、由 A 至 B 这两列组成的区域内是否存在与当前行 A 列相同的项目;若有则取该行右侧相邻的一栏作为输出显示于本单元格内。 #### 使用 `INDEX` 和 `MATCH` 组合实现更灵活的精确匹配 除了 `VLOOKUP` 外,还可以通过组合使用 `INDEX` 和 `MATCH` 来完成更加复杂的精确匹配任务。这种方法允许向左回溯获取数据而不局限于右侧行数限制,并且能够更好地应对多条件筛选场景。 具体来说就是先利用 `MATCH` 定位目标位置再借助 `INDEX` 提取出所需内容。比如想要依据 C 列里的唯一标识符去 D 列里面查找出相应的描述文字,那么就可以这样写公式[^3]: ```excel =INDEX(D:D,MATCH(C2,C:C,0)) ``` 这里 `MATCH(C2,C:C,0)` 部分会扫描整个 C 列直到遇到第一个等于 C2 的实例为止,接着把它的相对序号传递给 `INDEX()` ,后者据此定位到同一行但在 D 列上的条目予以呈现出来。 #### 检验两个列表之间的交集情况 有时也需要确认某一项是否存在于其他地方。这时可以用到 `IF`, `ISNUMBER` 及 `MATCH` 结合的方式快速判断并标记重复项。像下面这个例子就展示了怎样检验 H 列内的数值是不是也出现在 I 列之中[^2]: ```excel =IF(ISNUMBER(MATCH(H2,I2:I10,0)), "存在", "") ``` 此表达式的含义是在区间 I2-I10 寻觅同 H2 相吻合的对象,一旦成功即反馈数字型索引而非错误提示,进而被 ISNUMBER() 探测到转而触发 IF() 输出自定义消息 “存在”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值