vlookup和索引/匹配组合的字符数限制

时间:2018-08-16 12:48:51

标签: excel vba excel-vba

我创建了一个从不同列表合并的项目表/工作表。添加不同列表中的所有项目,然后删除重复项。然后,我在第一列之后为每个列表添加一个空列。如果项目在此特定列表中,则我使用vlookup在相应列的每一行中写入“ X”。每个列表都有一个自己的工作表,我以前在其中每行写了一个额外的列,其中X都是这样,因此vlookup可以输出仅包含x的第二列。最后,我得到一个列表,其中的列表包含项q

我使用的公式:=Iferror(vlookup(A2;'sheetListA'!A:B;2;false);" ")

显然,如果查找的值包含255个以上的字符(跨不同的工作表),则vlookup停止工作。我现在尝试了很长时间,用INDEX和MATCH重建公式,但没有成功。我设法制作了一个有效的公式,但它与vlookup一样存在问题,并且当单元中的字符数超过255个时便停止工作。

另一个公式无效:=INDEX('630'!A:B;MATCH(A02;'sheetListA'!A:A;0);2)

2 个答案:

答案 0 :(得分:0)

Rory在评论中提出了我的问题:

  

尝试:=LOOKUP(2;1/(A2='sheetListA'!A2:A1000);'sheetListA'!B2:B1000)做   不使用整个列引用

。 –罗里8月16日12:56

  

将sheetListA更改为实际的工作表名称。

Rory 8月16日14:50

答案 1 :(得分:0)

这是一个类似于VLOOKUP的自定义函数,可以搜索超过255个字符的字符。

Function VLOOKUPPLUS(SearchCell, LookUpArray As Range, ColNum As Long) As Variant
For Each cell In LookUpArray.Columns(1).Cells
If cell = SearchCell Then
VLOOKUPPLUS = cell.Offset(0, ColNum - 1)
Exit For
End If
VLOOKUPPLUS = "N/A"
Next
End Function