我创建了一个从不同列表合并的项目表/工作表。添加不同列表中的所有项目,然后删除重复项。然后,我在第一列之后为每个列表添加一个空列。如果项目在此特定列表中,则我使用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)
答案 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