我有两张表。表 A 包含销售数量,表 B 包含客户满意度分数。两者都包含名称和 ID,但在表 B 中,名称和 ID 是连接的(用破折号分隔),并且还会从 ID 左侧删除零(它已经以这种格式来自数据库)。
例如:工作表 A 中的单元格 A1:00990252310 工作表 B 中的单元格 A1:990252310 - John Doe
我需要匹配人们的 ID 并从工作表 A 中返回销售编号,并从工作表 B 中返回分数(括号内)。(销售,我稍后会做。我需要先算出分数)
分数值示例(我需要提取“7”):工作表 B 中的单元格 D1 :10 [7]
我在下面整理了这个公式,但它不起作用。我只能认为错误可能在于将 LEN 用于数组,但由于它在 XLOOKUP 内部,我认为它应该可以正常工作。
=XLOOKUP(B2,TEXT(LEFT(sheet B!A:A,SUM(LEN(sheet B!A:A)-LEN(SUBSTITUTE(sheet B!A:A,{"0","1","2","3","4","5","6","7","8","9"},"")))),"00000000000"),MID(sheet B!B:B,FIND("[",sheet B!B:B)+1,FIND("]",sheet B!B:B)-FIND("[",sheet B!B:B)-1))
我解决不了这个问题。大家帮帮我吧。=(
截图:
答案1
您可以尝试以下变体:
=INT(XLOOKUP(INT(B2),INT(LEFT(I2,FIND(" -",I2,1)-1)),SUBSTITUTE(MID(J2,FIND("[",J2,1)+1,LEN(J2)),"]","")))
这里有用的东西是INT
将数字的文本表示转换为数字。假设以前导零书写的数字存储为文本,如果将其包装在 INT 中,它会删除前导零,这对查找很有用。
然后我们将使用XLOOKUP
:
- 删除主页上 ID 的前导零
-
在 SALESPERSON 列中(空格、破折号)左侧的所有内容所代表的值的列中查找该值。[
返回SCORE 列中找到的文本- 去除
]
- 使用以下方法将结果转换为数字
INT