在Excel 2013中,我有两个表。 第一个包含长度不同的字母数字代码。 第一个表中的一些例子:
第二个表包含我需要与第一个表中代码的开头匹配的字母数字代码。任何数字代码当前都存储为文本。 第二个表中的一些例子:
如何从包含任何值的第二个表中的其他列返回值?对于某些上下文,第二个表中的返回列包含代码的描述。
我没有使用vlookup或匹配来设法找到解决方案。 还看了一下使用通配符,但这只能用一种方式,错误的方式。
答案 0 :(得分:0)
假设您不关心字母,最快的解决方案是使用LEFT(FIND(
代替。如果需要排除字母,则需要提供如何呈现格式的说明。
解决方案:=IFERROR(LEFT(A2,FIND(".",SUBSTITUTE(A2,"-","."))-1),A2)
这个公式会找到第一个“。”或“ - ”并呈现之前的所有字符。如果没有找到,则会显示完整的ID。
但是,如果还需要删除字母,则应注意使用某些严重的替代嵌套或VBA脚本。
答案 1 :(得分:0)
A1是列中的第一个单元格,在B1中写下以下内容:
=LEFT(A1,MATCH(TRUE,ISERROR(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),0)-1)
同时按 Ctrl + Shift + 输入(数组公式)
它将返回数据的第一个数字部分
您可以在C列中复制粘贴值并与第二个表
直接在B1中使用Table1中的结果:
=IFERROR(INDEX(Sheet2!$A$1:$A$4,MATCH(VALUE(LEFT(A1,MATCH(TRUE,ISERROR(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),0)-1)),Sheet2!$A$1:$A$4,0)),"")
同时按 Ctrl + Shift + 输入(数组公式)
它将返回Table2(sheet2)中相应的数字(如果匹配)或""如果没有匹配则为空
更改A1:A4以对应表2中的所有数字,并在拖动公式时保留$以修复引用