c++ 字符串合并_小鹅通直播平台实在坑,多数据表导出合并一定要关注这一点...

在处理Excel数据时,遇到因前导空格导致VLOOKUP函数匹配失败的问题。通过检查发现,考试成绩表中的用户ID存在前导空格,而Trim函数无法去除Tab空格。最终,通过在Sheet2中先使用Clean函数去除Tab空格,然后再用VLOOKUP函数成功匹配并同步成绩。这个案例强调了数据清洗的重要性以及Trim和Clean函数的适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天连云港物协的一次直播培训结束后,按照甲方要求,需要导出参加直播培训学员基本信息和考试成绩给对方。

在小鹅通直播平台后台,学员信息采集和考试成绩信息,导出后是两张不同的数据表,其中“学员信息表”(Sheet1)中“用户ID”对应了“考试成绩表”(Sheet2)中的“学员ID”,为了对方物协工作人员使用方便,需要根据两张表中相对应的“用户ID”和“学员ID”,将“考试成绩表”(Sheet2)中的“得分”信息,同步到“学员信息表”(Sheet1)中的“成绩”列中。

3fe12adeb9ae0c92d8adce58aa052455.png

将两张工作表中的数据按索引字合并

熟悉EXCEL的朋友,这时候应该都会想到vLookUp函数,搜索、匹配,再同步。

说明:Sheet1是学员信息表,Sheet2是考试成绩表。

操作步骤如下:

在Sheet1中C列“成绩”的第二行,写入vLookUp公式:

=vLookUp(B2,Sheet2!B:D,2,0)

解读:将Sheet1工作表中B列各单元格的内容,在Sheet2工作表中的B:E区域中遍历,如果匹配到相关内容,则将从B列起第二列的单元格中的内容写入到C列对应的单元格中;

106f5352014201fe4bff0d70d3477651.png

数据中包含Tab空格导致匹配不成功

写入后,往下拖动并在“成绩”列应用该公式,Excel显示:#N/A,数据缺失,在Sheet2的“学员ID“列中找不到可以和Sheet1中“用户ID”列中可以匹配的值。

仔细对照,Sheet1和Sheet2两张工作表中的“学员ID“和”用户ID“确实是对应和匹配的,不应该出现这种错误结果。

那么,问题出在哪里呢?

将两类ID数值拷贝到文本编辑器,这才发现,“考试成绩表”(Sheet2)中的“用户ID”值中,竟然有一个“前置空格“。这小鹅通程序员简直是神经病,这绝对是让人不能接受Bug。

幸亏,Excel还有一个Trim和Clean的函数,可以去除空格,

这好办呀,用Clean就可以去掉空格呀。

于是,将公式改为:

=vLookUp(B2,Trim(Sheet2!B:D),2,0)

=vLookUp(B2,Clean(Sheet2!B:D),2,0)

再试,仍然出错,没有效果。

101c4436bfd0f90e1bb39d2cab2f979f.png

在vLookUp中使用Trim和Clean函数无效

后来想到,是否是Trim、Clean函数的用法有误,Clean(Sheet2!B:D)这种用法是不正确的,而应该先在Sheet2中对数据进行处理后,再用vLookUp函数遍历呢?

8de29423c64e411fb45495bb24e7852a.png

Trim和Clean函数只对单一数据有效

先在Sheet2中新增C列,用Trim、Clean函数对B列数据进行处理,去除B中数据的Tab空格后,将结果填入C列;

1c485b802a6fb4570d449680aafe8fd3.png

Trim函数和Clean函数只对既然类型的数据有效

发现用Trim函数无法消除字符串中的空格,后来才知道Trim函数只对Space空格有效,对Tab空格无效;

使用Clean函数对数据进行处理后,然后在Sheet1中再用vLookUp进行数据遍历:

fa576a7a0ecfd6685a333d84bcd18744.png

在vLookUp函数中慎用Trim和Clean函数

终于,问题解决了,Sheet2中学员的考试成绩被关联写入到Sheet1中的成绩列了。

小结:

1、vLookUp遍历的过程中,提示数据缺失,可能因为数据中包含“空格“(Space、Tab);

2、Trim函数只能去除字符串中的Space空格,但对Tab空格无效;

3、Clean函数只能去除字符串中的Tab空格,但对Space空格无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值