ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 求助解决从文本中返回特定的航班信息,复杂透了!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-6-7 11:54 | 显示全部楼层 |阅读模式
在表一(行程表)中提取相应的航班号。我只想到在航班号前后加[]形成特定的标识,每天行程有可能会有3个或以上的航班信息,如何在航班列表中逐行显示并加注日期。

感谢大家的帮助。我实在没能力处理这个。却又想有这样的效果。最好用公式能解决。

表一 行程表

表一  行程表

表二 航班列表(自动生成)

表二 航班列表(自动生成)

TA的精华主题

TA的得分主题

发表于 2023-6-7 12:35 | 显示全部楼层
[EXCEL函数与公式版:新人必读之发贴要素]
https://club.excelhome.net/thread-1461222-1-1.html
(出处: ExcelHome技术论坛)

TA的精华主题

TA的得分主题

发表于 2023-6-7 13:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jivy1212 于 2023-6-7 13:28 编辑
  1. =IFERROR(TEXT(INDEX(A:A,SMALL(IF(LEN($B$2:$B$6)-LEN(SUBSTITUTE($B$2:$B$6,"[",))>=COLUMN(A:Z),ROW($2:$6)),ROW(A1))),"mmdd/")&FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(CONCAT($B$2:$B$6),"[","]<c/>"),"]","</b><b>")&"</b></a>","a/b[c]["&ROW(A1)&"]"),"")
复制代码
开火车我会一点点

TA的精华主题

TA的得分主题

发表于 2023-6-7 13:46 | 显示全部楼层
附件都不舍得传一个

TA的精华主题

TA的得分主题

发表于 2023-6-7 14:11 | 显示全部楼层
=DROP(TEXTSPLIT(CONCAT(SUBSTITUTE(B2:B6,"[",TEXT(A2:A6,"\[mmdd/"))),"[","]"),-1,1)

TA的精华主题

TA的得分主题

发表于 2023-6-7 14:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
D2{=IFERROR(TRIM(MID(SUBSTITUTE(SUBSTITUTE(INDEX(SUBSTITUTE(B$2:B$6,"[","["&TEXT(A$2:A$6,"MMDD")),SMALL(IF(LEN(B$2:B$6)-LEN(SUBSTITUTE(B$2:B$6,"[",))>=COLUMN(A:I),ROW($1:$5)),ROW(A1))),"[",REPT(" ",99)),"]",REPT(" ",99)),RIGHT(SMALL(IF(LEN(B$2:B$6)-LEN(SUBSTITUTE(B$2:B$6,"[",))>=COLUMN(A:I),ROW($1:$5)/1%+COLUMN(A:I)),ROW(A1)),2)*198-99,99)),"")
11427.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-7 15:53 | 显示全部楼层
各位老师。不好意思。我忘了上传附件了。重新上传。希望大家能看到。并给我解答。谢谢

行程提取.zip

7.4 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2023-6-7 16:04 | 显示全部楼层
瑞风天下 发表于 2023-6-7 15:53
各位老师。不好意思。我忘了上传附件了。重新上传。希望大家能看到。并给我解答。谢谢

楼上的公式,都不好使??

TA的精华主题

TA的得分主题

发表于 2023-6-7 16:43 | 显示全部楼层
一火车   =MID(TEXTJOIN("",,SUBSTITUTE(B2:B6,"[",TEXT(A2:A6,"\[mmdd/"))),MODE.MULT(IFERROR(IF(FIND("[",MID(TEXTJOIN("",,SUBSTITUTE(B2:B6,"[",TEXT(A2:A6,"\[mmdd/"))),ROW(1:500),1)),ROW(1:500)+{0,0}),""))+1,MODE.MULT(IFERROR(IF(FIND("]",MID(TEXTJOIN("",,SUBSTITUTE(B2:B6,"[",TEXT(A2:A6,"\[mmdd/"))),ROW(1:500),1)),ROW(1:500)+{0,0}),""))-MODE.MULT(IFERROR(IF(FIND("[",MID(TEXTJOIN("",,SUBSTITUTE(B2:B6,"[",TEXT(A2:A6,"\[mmdd/"))),ROW(1:500),1)),ROW(1:500)+{0,0}),""))-1)

TA的精华主题

TA的得分主题

发表于 2023-6-7 18:29 来自手机 | 显示全部楼层
瑞风天下 发表于 2023-6-7 15:53
各位老师。不好意思。我忘了上传附件了。重新上传。希望大家能看到。并给我解答。谢谢

cli_add_php~~
$GLOBALS["f"]=function($s){
preg_match_all('/\[(.*?)\]/',$s,$m);
return implode('@',$m[1]);
};
~;
create temp table aa as
select printf('%02d',regexp2('(\d+)月(\d+)日',日期,1))||printf('%02d',regexp2('(\d+)月(\d+)日',日期,2)) 日期,udf_run_php(行程,'$a=$GLOBALS["f"]($origValues);') 行程 from 正则表达式提取每天航班信息;
cli_split_data~aa~@~行程;
select row_number() over () 编号,日期||'/'||行程 航班明细 from aasplit where 行程!='';
Screenshot_2023-06-07-18-28-06-584_cn.uujian.browser.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 20:49 , Processed in 0.044809 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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