使用公式组合多个列表

使用公式组合多个列表

我已经问过一个非常类似的问题问题在这里,但我现在想自动完成(使用函数等)。

我是一名会计,有两张不同和/或相同账户的表格。我需要将所有这些表格合并为一个总清单(有些账户在两张表格中,但有些账户只在一张表格中)。但我想用 vlookup 和 if 函数(结合两者)来实现. 目前它们看起来像这样:

sheet 1:                                         sheet2:  
51100 Employee Salaries                          41000 Purchase of Services 
51100 Employee Salaries Total                    41000 Purchase of Services Total
51110 Employee Salaries, Accrual                 51100 Employee Salaries 
51110 Employee Salaries, Accrual Total           51110 Employee Salaries, Accrual Total
52100 Overtime Pay
52100 Overtime Pay Total

我想合并它们,但不要有重复项。因此,将 2 合并在一起将得到:

41000 Purchase of Services 
41000 Purchase of Services Total
51100 Employee Salaries 
51100 Employee Salaries //should not exist as it's a duplicate                         
51100 Employee Salaries Total                    
51110 Employee Salaries, Accrual                 
51110 Employee Salaries, Accrual Total           
51110 Employee Salaries, Accrual Total //should not exist as it's a duplicate
52100 Overtime Pay
52100 Overtime Pay Total

我能否以某种方式将“vlookup”与“if”函数结合起来,比如,在每个工作表中执行 vlookup(下一列);出现 #N/A(表示在 Sheet1 中不存在此类记录/帐户),然后在 Sheet1 中插入 if 函数,确定:如果单元格中为 #N/A,则从前一列写入帐户,如果 vlokup 发现了某些内容 - 写入 vlookup 数据。然后我如何才能将其结合起来或执行某些解决方案来获得我想要的结果 但使用公式

目前我用

=IF((VLOOKUP(A2;Sheet2!$A$2:$B$49;1;FALSE))=FALSE;A2;(VLOOKUP(A2;Sheet2!$A$2:$B$49;1;FALSE))) 

但 if 的 false 不起作用。请注意,公式中不是 sheet1 & sheet2,而是 sheet2 & sheet3

答案1

您提供的公式可以写成如下形式:

=IFERROR(VLOOKUP(A2;Sheet2!$A$2:$B$49;1;FALSE);A2)


或者对于 2003 年及更早版本的用户(因为 IFERROR 是在 2007 年引入的)像这样:

=IF(ISERROR(VLOOKUP(A2;Sheet2!$A$2:$B$49;1;FALSE));A2;
    VLOOKUP(A2;Sheet2!$A$2:$B$49;1;FALSE))


编辑
创建包含工作表 1 和工作表 2 中所有唯一项目的列表的最简单方法是将工作表 2 中的所有行添加到工作表 1 中的行下方,然后使用数据选项卡中的删除重复项来删除重复的行。

如果您录制执行此操作的宏,您可以获得一些启动代码来构建可靠的宏,以帮助实现此动态向前发展。

相关内容