找回密码
 立即注册
搜索

数据转换问题:根据映射关系使数据A以数据B的形式呈现,求助大佬公式如何编写 ...

3
回复
2022
查看
[复制链接]

1

主题

9

帖子

1

幻币

初入江湖

Rank: 1

积分
2
2021-10-21 11:01:00 显示全部楼层 |阅读模式
求助大佬:
由于使用不同的软件,以系统A的形式引出来的数据需要按照映射关系转换成系统B的数据,映射关系存在。但是映射关系中含有大量的*,表示任意值,或者某特定数据+“*”表示某某开头后面任意值,并且判断条件有6重。因此转换关系或逻辑比较多,求助大佬如何编写公式可以实现大量的数据转换?

有吧友帮助,使用数组进行取值,但是最后的结果还是有错误的返回值。求助热心大佬帮忙看一下,如何编写公式才能没有错误。
我添加了曾经获得的正确的系统B数据,可以验证公式是否能得到完全正确的数据。附件也是简化过的,希望能将问题描述得更清楚。
系统数据转换表.zip (64.93 KB, 下载次数: 175)
PPT学习论坛
回复

使用道具 举报

1

主题

10

帖子

0

幻币

初入江湖

Rank: 1

积分
10
2021-11-12 23:48:02 显示全部楼层
转换的规则是什么?你要说明一下。。关系表也看不懂怎么来的!
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
8
2021-11-13 19:43:52 显示全部楼层
二次编辑:
发现我这个公式跟你之前那个帖子里的都是差不多的,那个返回错误也是优先级的问题
原帖:
=LOOKUP(1,0/SEARCH(数据AB转换关系表!$A$2:$A$2397,系统A数据!B3),数据AB转换关系表!$B$2:$B$2397)
这个公式可以匹配出来大部分结果,其中那些匹配错误的是因为他的优先级是按照匹配表里从下至上的,只要在最下面的匹配关系成立就返回该值,上面的值就被忽略了,所以如果想达成你的目标,就要按照这个优先级把你匹配表里的数据进行排序,即通配符越少的要越在下面,通配符越多,越模煳的要越在上面,改起来很麻烦,只是提供一个思路,你可以参考;
a7639c163b2c0541255c0091cffe1e4e.png
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

4

帖子

-1

幻币

初入江湖

Rank: 1

积分
2
2021-12-4 13:37:09 显示全部楼层
谢谢大佬
我的理解也是优先级导致匹配出了问题。关键是这个匹配表是动态变化,即每个月都有可能变化,所以基本上这个表不会被每月重新排序,只能拿到之后进行覆盖。有什么办法在不动匹配表的情况下,从上到下进行匹配呢?
PPT学习论坛
回复 支持 反对

使用道具 举报

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