找回密码
 立即注册
搜索

如何将由字母和数字组成的编号,按不同号段查找出类型

8
回复
499
查看
[复制链接]

2

主题

6

帖子

3

幻币

初入江湖

Rank: 1

积分
12
2021-11-18 10:49:00 显示全部楼层 |阅读模式
源数据是列车车次,按字头分为K、T、Z、Y和无字母的,每个类型都按不同的编号区间分为直通、管内、通勤
如何用公式实现查找呢
编号规则:
1aead455ef2b7f654876e629a51503f4.png
比如Z1000属于直通、Z6000属于管内
请大神们指导,谢谢!!

数据.zip (17.98 KB, 下载次数: 11)
PPT学习论坛
回复

使用道具 举报

0

主题

5

帖子

0

幻币

东方不败

积分
-7
2021-11-21 00:16:28 显示全部楼层
39ae24b1da1fc4800fe337eb91be3478.png
=LOOKUP(1,0/((A2>=$E$2:$E$16)*(A2<=$F$2:$F$16)),$G$2:$G$16)
自己再验证一下。。
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

7

帖子

1

幻币

初入江湖

Rank: 1

积分
9
2021-11-29 22:08:21 显示全部楼层
B2数组公式:(下拉)
=INDEX(G:G,MIN(IF((A2&"">=E$2:E$16)*(A2&""<=F$2:F$16),ROW($2:$16),520)))&""
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-3

幻币

初入江湖

Rank: 1

积分
0
2021-12-12 07:50:52 显示全部楼层
谢谢2楼大神!!!
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

3

帖子

2

幻币

初入江湖

Rank: 1

积分
7
2022-1-14 19:44:10 显示全部楼层
再请教,为什么对于车次“K50”公式会报错,K50<=K4998是FALSE?为什么
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

5

帖子

3

幻币

初入江湖

Rank: 1

积分
11
2022-1-20 12:35:51 显示全部楼层
587a2c43148e1563412f4f099f440f9a.png
这些车次的应该是“直通”的,但是返回的结果是“管内”,为什么呢?
另外字符串比较大小的判断是什么机制?比如K50<=K4999的判断是False
再次感谢大神们
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

3

帖子

-4

幻币

东方不败

积分
-5
2022-1-22 08:44:16 显示全部楼层
create temp table aa as select regexp2('[A-Z]',编号起) 前缀,regexp2('\d+',编号起) 编号起,regexp2('\d+',编号止) 编号止,车次类型 from 车次类型明细表;create temp table bb as select 始发车次,regexp2('^[A-Z]',始发车次) 前缀,regexp2('\d+',始发车次) 始发车次编号 from 始发车次明细表;select *,始发车次,车次类型 from bb left join aa on aa.前缀=bb.前缀 and bb.始发车次编号 between 编号起 and 编号止 limit 3;select 始发车次,车次类型 from bb left join aa on aa.前缀=bb.前缀 and cast(bb.始发车次编号 as int) between cast(编号起 as int) and cast(编号止 as int) ;
把数字拆分出来试试。
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

10

帖子

1

幻币

初入江湖

Rank: 1

积分
9
2022-1-27 15:50:00 显示全部楼层
B2数组公式:(强行转了个,应该有其他好方法)或者设计一下车次辅助表
=INDEX(G:G,MIN(IF((TEXT(CODE(LEFT(A2)),"[<65]!0")/1%%+MID(A2,ISERR(-LEFT(A2))+1,9)>=TEXT(CODE(LEFT(E$2:E$16)),"[<65]!0")/1%%+MID(E$2:E$16,ISERR(-LEFT(E$2:E$16))+1,9))*(TEXT(CODE(LEFT(A2)),"[<65]!0")/1%%+MID(A2,ISERR(-LEFT(A2))+1,9)<=TEXT(CODE(LEFT(F$2:F$16)),"[<65]!0")/1%%+MID(F$2:F$16,ISERR(-LEFT(F$2:F$16))+1,9)),ROW($2:$16),520)))&""
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-3

幻币

初入江湖

Rank: 1

积分
0
2022-2-5 06:37:40 显示全部楼层
感谢各位,我自己解决了。
把车次做了个公式补足5位,编码规则也补为5位,这样比较大小就不会出错了
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册