2016-09-02 67 views
0

我试图从我的工作簿中删除重复的值,但问题是相同的条目,我试图保留的条目具有如下所示的年份。删除重复值 - 前导日期

enter image description here

我使用VLOOKUP(下)尝试,但因为它不是一个精确匹配,我用TRUE,它不会返回我真正想要的值,它会采取另一个步骤去除价值没有领先的一年。

=VLOOKUP(F2,F2:F657,1,TRUE) 

任何和所有帮助,将不胜感激!

+0

基础上您的评论如下,你只关心,如果在一个与去年存在没有一年的,如果是的话你要能够知道,所以你可以删除它,如果不是你想知道,那么你可以保留它? –

回答

1

怎么是这样的:

{=IFERROR(VLOOKUP(F2,F2:F657,1,FALSE),INDEX(F2:F657,MATCH(F2,SUBSTITUTE(F2:F657,LEFT(F2:F657,7),""),0)))} 

这种工作方式如下:(1)首先它会检查VLOOKUP找到匹配。如果情况并非如此,那么(2)它将通过删除前7个字符(年+空格+连字符+空格)来尝试在列表中找到匹配项。因此,上面的解决方案假定前7个字符必须始终移除(此解决方案对于需要移除的字符的长度不灵活)。

此外,上述解决方案假定您有一个知道公式IfError(需要Excel 2007+)的Excel版本。否则,您可以用完整的If公式代替它。

请注意,上述公式需要作为数组公式输入。所以,您需要按Ctrl + Shift + Enter才能输入公式。有关数组公式的详细信息,看看微软的网站在这里:https://support.office.com/en-us/article/Guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7

enter image description here

+0

谢谢,这是非常有帮助的,但我没有这样做的原因是,带头年的价值实际上是我想要保留的价值,但如果没有领先的一年,我想要一个没有它。这就是我的问题出现的地方,因为我无法想到能够让我将价值观保持在领先地位的逻辑,然后在没有找到领先的一年的时候使用这些逻辑。 –

+1

然后,只需倒置上面的公式,并首先将第二部分(带有'index/match')和'vlookup'移动到IfError公式的末尾(如下所示):'{= IFERROR(INDEX(F2: F657,MATCH(F2,SUBSTITUTE(F2:F657,LEFT(F2:F657,7),“”),0)),VLOOKUP(F2,F2:F657,1,FALSE))}' – Ralph

+0

非常感谢帮助! –