Excel MATCH字符限制

时间:2013-12-10 19:43:27

标签: excel excel-vba vba

我使用以下公式 = INDEX(Dict!A:A,MATCH(A2,Dict!A:A,0),1)但MATCH仅适用于256个字符以下的文本。有什么方法可以克服这种限制吗?

3 个答案:

答案 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的美观。

  1. 在DICT!中的A:A旁边插入(或使用)一列(例如B:B),并使用简单的公式“ = A1 = SHEET1!A $ 2”(SHEET1是您的原始/原始工作表),它将使用TRUE和FALSE值填充该列,指示DICT中的哪些行(如果有)与A2相匹配。

  2. 然后,匹配语法从“ MATCH(A2,Dict!A:A,0)”更改为“ MATCH(TRUE,Dict!B:B,0)”。

注意:我知道这样做的原理是正确的,但是如果我在所提供的示例中进行改版时添加了错字,那么道歉,但是该原理应该易于理解。