ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 677|回复: 6

[求助] 请求帮助解决公式无效问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-21 22:29 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 A-Can 于 2020-2-22 15:51 编辑

F列末尾字符在C列可能会出现,但长度不确定,如果存在,则最长为5个字符,最短为1个字符,现在需要找到F列字符串在C列中出现最长末尾字符,并将其删除,我使用了H2列的公式:left(f2,len(IFERROR(VLOOKUP(RIGHT(F2,5),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,4),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,3),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,2),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,1),$C$1:$C$1261,1,0),""))))))),但是回车无效果,如果只输入其中的len(IFERROR(VLOOKUP(RIGHT(F2,5),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,4),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,3),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,2),$C$1:$C$1261,1,0),IFERROR(VLOOKUP(RIGHT(F2,1),$C$1:$C$1261,1,0),""))))))是可以起作用的。不知道是什么原因,请高手赐教!!!
image.png

另:本来想使用数组公式,但一直通不过,公式:{=LEFT(F2,6-MATCH(1,ISNUMBER(MATCH({RIGHT(F2,5),RIGHT(F2,4),RIGHT(F2,3),RIGHT(F2,2),RIGHT(F2,1)},$C$1:$C$1261,0))*1,0))},是不是里面的大括号必须包含常数数组,不能使用公式?有没有解决办法或更好的方法?

测试.rar

6.23 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2020-2-21 22:44 | 显示全部楼层
G2公式:??
=IFERROR(LEFT(F2,LEN(F2)-MATCH(2,0/COUNTIF(C:C,RIGHT(F2,{1,2,3,4,5})))),F2)&""

TA的精华主题

TA的得分主题

发表于 2020-2-21 22:47 | 显示全部楼层
=LEFT(F2,LEN(F2)-MAX(COUNTIF(C:C,RIGHT(F2,ROW($1:$5)))))数组下拉?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-21 22:51 | 显示全部楼层
魚。。 发表于 2020-2-21 22:44
G2公式:??
=IFERROR(LEFT(F2,LEN(F2)-MATCH(2,0/COUNTIF(C:C,RIGHT(F2,{1,2,3,4,5})))),F2)&""

方法确实有效,谢谢!

TA的精华主题

TA的得分主题

发表于 2020-2-21 23:01 | 显示全部楼层
=IFERROR(LEFT(F2,MAX(IFERROR(FIND($C$1:$C$1261,F2),""))-1),F2)

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-22 12:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
624134745 发表于 2020-2-21 22:47
=LEFT(F2,LEN(F2)-MAX(COUNTIF(C:C,RIGHT(F2,ROW($1:$5)))))数组下拉?

这个不行,因为COUNTIF(C:C,RIGHT(F2,ROW($1:$5)))的数值中可能有好几个1,我需要的是找到数组中最后面的那个1,并获得其在数组中的序号

TA的精华主题

TA的得分主题

发表于 2020-2-22 13:03 | 显示全部楼层
本帖最后由 micch 于 2020-2-22 13:11 编辑
  1. =left(f2,min(len(substitute(f2,c$1:c$1261,))))
复制代码
  1. =left(f2,len(f2)-max(ifna(match(right(f2,{1,2,3,4,5}),c:c,)^0*{1,2,3,4,5},)))
复制代码

       瞎猜试试

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 08:40 , Processed in 0.042084 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表