1

我有一个包含两个工作表的电子表格。每个工作表都包含 C 列,我只需要提取破折号后的最后一个数字。因此,在单元格 D 中,它使用以下公式来执行此操作:

=TRIM(RIGHT(SUBSTITUTE(C2,"-",REPT(" ",100)),100))  

如您所见,正确的数字显示在单元格 D 中。

A   B   C                        D  E
250 stevem  GP CONSTRUCCION-9-50399 50399   4/12/2013 0:00
223 stevem  ANIMATIC MEDIA-9-50400  50400   4/12/2013 0:00
224 stevem  DIGITAL ENGINEE-9-50401 50401   4/12/2013 0:00

然后,我需要对表 1 中的单元格 D 进行 vlookup 并将其与表 2 中的单元格 D 匹配,其中包含相同的公式,用于仅提取 - 之后的最后一位数字

我的 Vlookup 是:

=VLOOKUP(D:D,Sheet2!A:F,2)

但我认为因为查找单元格不包含 Just 值,而是包含返回值的公式,所以我收到错误 #N/A

Vlookup 是否适用于我正在尝试做的事情?

4

1 回答 1

3

VLookup 返回的 (#N/A) 表示未找到该值。我的猜测是,问题是您正在从 Sheet 2 的 A 列中的 Sheet 1 中寻找 D 的值。

VLookup函数有参数[Lookup Value],[Table Array],[Column Index Num],[Range Lookup]

查找值是您正在搜索的值。 表数组是要搜索的值的范围。第一列是搜索的内容。 Column Index Num是找到 Lookup 值时应返回其值的表数组的列号。如果表数组中有多个查找值的实例,则该函数返回第一个实例。 Range Lookup是真还是假,并确定您是仅使用精确匹配 -False 还是近似匹配 -True。

您选择的表格数组是 Sheet2!A:D 并且您拥有的列索引号是 2。这意味着 vlookup 正在查找 A 列中的值,如果找到它将返回 B 列中的值。如果该值是未找到,则 vlookup 返回一般错误 (#N/A)。如果需要,您可以使用包装在 VLOOKUP() 函数周围的 IFERROR() 函数来捕获它。

您描述您想要搜索表 2 的 D 列中的值,但您没有表达您想要返回的值。如果您只想要返回的数字,那么将范围设置为仅一列就足够了。

示例:=vlookup(D1,Sheets2!D:D,1,False)

此 VLOOKUP() 函数在工作表 2 的 D 列中查找值 D1,如果找到,则返回数字,否则返回 (#N/A) 并执行完全匹配搜索。

于 2013-04-15T19:46:24.403 回答