跨表的总和(如果单元格x等于获取单元格y)

时间:2014-04-07 20:57:54

标签: excel excel-vba excel-formula excel-2007 vba

你好,我正在努力解决如何在一个句子中解释这个问题,因此一直在网上和thot id最好只是问别人。

因此,我们有一份包含每日销售表的销售档案。我正在寻找的是一个公式,它将从每一天获得特定销售员的所有销售额并将其总计。因此它基本上必须从Cell C获取数据:%if cell I:%= David,对于所有工作表上的每个表并给我一个总数,所以我可以说形成一个表

现在工作表已经使用宏进行数据输入,所以我可以使用宏,我会更喜欢一个公式来完成这个,任何人都知道吗?

2 个答案:

答案 0 :(得分:1)

你可以像这样使用sumif:

=SUMIF(Sheet1!I:I,"David",Sheet1!C:C)+SUMIF(Sheet2!I:I,"David",Sheet2!C:C)+...

对于每张纸,但我会写简单的UDF:

Function SumIF_AllSheets(criteriaRng As Range, criteria, sumRng As Range)
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        SumIF_AllSheets = SumIF_AllSheets + WorksheetFunction.SumIf(ws.Range(criteriaRng.Address), criteria, ws.Range(sumRng.Address))
    Next
End Function

并将其称为:SumIF_AllSheets(I:I,"David",C:C)

答案 1 :(得分:1)

假设 sheetlist 是一个列出所有其他工作表名称的命名范围,您可以在复制的工作表的单元格B2中使用此公式,其中A2 down列出销售人员的姓名

=SUMPRODUCT(SUMIF(INDIRECT("'"&sheetlist&"'!I:I"),A2,INDIRECT("'"&sheetlist&"'!C:C")))