我想只查看单元格的前 10 位数字。如果 C 列中的单元格等于 G 列中的单元格(但在另一个选项卡中),那么我想要 H 列(来自 G 的同一选项卡)的结果。我尝试使用 VLOOKUP,但它给出了错误。单元格中的数字总数为 11,所以我不知道是写为只查看前 10 位更容易,还是说不考虑从右边开始的第一位更容易。
示例:我在一个单元格(C2)中输入 11234567890,在另一个单元格(G2)中输入 11234567891,并带有相关项目描述(H2),我希望 G2 中的项目具有相同的描述,即使最后一位数字不匹配。
工作公式:=XLOOKUP(Left(C2,10),Left(Tab2!G:G,10),Tab2!H:H,"")
答案1
假设以上所有数据/列都在同一张表中。请执行以下操作:
=INDEX(A:A,MATCH(C1&"",LEFT(G:G,10),0))
然后按Ctrl+ Shift+ Enter,它将(自动)变成:
{=INDEX(A:A,MATCH(C1&"",LEFT(G:G,10),0))}
因为它是以数组公式的形式输入的。原始教程(比我解释得更好)位于评论中分享的链接上。
如果它有效/可理解/不可理解,请分享。
答案2
答案3
您可以VLOOKUP()
按照以下方式使用:
=VLOOKUP(LEFT(C1,3),LEFT(Tab2!G:H,10),2,FALSE)
它比等效方法有一个优势XLOOKUP()
,因为使用您提出的完整列意味着您会达到实际检查的单元格的限制,因为当函数从 G 列的条目构建内部数组字符串时,它只处理“这么多,没有更多”的字符。VLOOKUP()
在构建该数组时有类似的限制,但它并不关心数组字符串是否结束......很糟糕......除非偶然。
为值构建的数组的糟糕结局就是你XLOOKUP()
无法工作的原因。
如此美好和简单。
虽然您使用的是 ,但您使用的是 Excel-2010 标签XLOOKUP()
,因此必须有更新的版本。也许您的一些用户中有一些 Excel 2010?如果需要在 Excel 2010 中工作,仍然可以VLOOKUP()
直接从这里使用 。无需{CSE }
输入。