我现在遇到一个问题,即使使用If和Vlookups的多种组合,我也无法解决。我做得不对。
我有一张表,其中包含产品名称和Sl Number的空列。如果Sl数与公式的相邻单元格中的值匹配,则需要从Sheet 2中检索Sl数(我知道这可以通过Vlookup实现)。但是,即使匹配不准确,我也会尝试显示该值。我的意思是,如果产品名称具有表1中的所有值,但在括号中还有其他信息,则仍应显示该值。
Formula in A2 - A7 = "=VLOOKUP(B2, Sheet2!B:E, 2, 0)"
这可能吗?
提前致谢。
抱歉,我是新来的,不知道这是怎么回事。因此,尝试做正确的事情,但可能需要一些时间。谢谢弗兰克和蒂姆。我还有另外一个问题。
有没有办法通过忽略查找单元格本身括号中的文本来检索值?
例如:
第1页
Sl Number Name
123454 Cream SPF 30+ 50g
**NA** Bar Chocolate 70g X 6 (Sample)
234256 Hand Wash 150ml
26786 Toothpaste - Whitening 110g
第2页
ID Name Sl number Manufacturer Quantity
8 Collagen Essence 10ml 456788 AL 87
9 Hand Wash 150ml 234256 AD 23
10 Bar Chocolate 70g X 6 835424 AU 234
工作表1上的第2行具有包含(样本)的名称,而工作表2上的相同产品不包含该产品的(样本)。有没有办法在上面的场景中使用查找?
谢谢
答案 0 :(得分:0)
= VLOOKUP(B2&“*”,Sheet2!B:E,2,0)只要将“额外”信息标记到名称的末尾,并且您的所有产品名称都不是 另一个产品名称的子字符串。 - 蒂姆威廉姆斯53分钟前
将获得您正在寻找的内容,以及在“(...)”之间删除文本
=IFERROR(IF(FIND("(",A2),LEFT(A2,FIND("(",A2)-1),A2),A2)
要创建一个新列,将删除任何带有括号“(...)”的列,这假设所有条目的末尾都有“(...)”,即最右侧。
当你是新人时,我认为你可能对解释感兴趣。我会解释蒂姆和我的所作所为。如果我不正确,任何人都可以自由编辑。
根据您的问题,您似乎熟悉Excel而不是网站。这就是说,我对你的尝试与蒂姆的关键区别的理解是=VLOOKUP(B2 & "*", Sheet2!B:E, 2, 0)
或具体& "*"
。这会在搜索参数中引入通配符。因此,如果您键入“Bob”但实际引用是“Bob's Burger”,那么“*”将允许['s Burger]作为可能搜索的一部分包含在内,因为您设置了vLookup来搜索Approximate而不是精确匹配。 =VLOOKUP(B2 & "*", Sheet2!B:E, 2, 0)
具体为, 0)
。
就我而言,IFERROR实际上是IF函数错误的全部。如果有错误,则为X.在这种情况下,如果它在单元格中找不到“(”,那么它将抛出错误。由于它是错误,显示原始单元格。
至于IF(FIND("(",A2),LEFT(A2,FIND("(",A2)-1),A2)
它要求Excel在单元格A2中查找“(”,如果找到它,那么它从LEFT开始计算,直到找到“(”并将文本删除一个空格为第一个“(”的左侧。因此删除“(...)”。