我使用以下公式 = INDEX(Dict!A:A,MATCH(A2,Dict!A:A,0),1)但MATCH仅适用于256个字符以下的文本。有什么方法可以克服这种限制吗?
答案 0 :(得分:4)
要容纳部分匹配,请使用SEARCH
,如下所示:
=INDEX(Dict!A:A,MATCH(TRUE,INDEX(ISNUMBER(SEARCH(A2,Dict!A:A)),0),0))
这将返回一个值> 256个字符,但A2不能> 256个字符
答案 1 :(得分:0)
您可以使用LDMP查找方法,以利用自Excel 2016起可用的concat公式。
={CONCAT(IF(Value=A:A;B:B;"")}
请注意,这是一个矩阵公式,因此必须输入CTRL + SHIFT + ENTER。 此外,该公式不仅返回第一个值,而且还返回所有匹配的值。
答案 2 :(得分:0)
还有另一种方法,如果您不介意帮助列的混乱,并且您的原始公式不在后续行中重复(即匹配单元格A3,A4,A5 ... )。当然可以隐藏帮助器列,以保持DICT的美观。
在DICT!中的A:A旁边插入(或使用)一列(例如B:B),并使用简单的公式“ = A1 = SHEET1!A $ 2”(SHEET1是您的原始/原始工作表),它将使用TRUE和FALSE值填充该列,指示DICT中的哪些行(如果有)与A2相匹配。
然后,匹配语法从“ MATCH(A2,Dict!A:A,0)”更改为“ MATCH(TRUE,Dict!B:B,0)”。
注意:我知道这样做的原理是正确的,但是如果我在所提供的示例中进行改版时添加了错字,那么道歉,但是该原理应该易于理解。