如何从表(特定范围)中获取数据总和?

时间:2018-01-05 02:07:37

标签: excel vba excel-vba

我的Excel工作表有一个表从SQL数据库复制数据。该表包含从第1天到今天的机器使用模具的数据。表中有多台机器的数据。

------------------------------------------
| Machine |   Date   |  Die ID   | Usage |
------------------------------------------
|   A1    | 20171215 |    AAA    |  100  |
|   A1    | 20171216 |    AAA    |  150  |
|   A1    | 20171217 |    AAA    |   80  |
    .
    .
    .
|   A1    | 20180105 |    AAA    |  200  |
|   B2    | 20171220 |    BBB    |  500  |
|   B2    | 20171221 |    BBB    |  230  |
    .
    .
    .
|   B2    | 20180105 |    BBB    |  410  |
------------------------------------------

现在我想添加另一个表,该表从特定的日期(上次服务日期)到今天获取骰子的总使用量。

---------------------------------------------------------------------------
| Machine | Die ID |   Last Service Date  |   Today  | Accumulative Usage |
---------------------------------------------------------------------------
|    A1   |   AAA  |       25/12/2017     | 5/1/2018 |                    |
---------------------------------------------------------------------------
|    B2   |   BBB  |        1/1/2018      | 5/1/2018 |                    |
---------------------------------------------------------------------------

基于SQL表键入机器,Die ID基于SQL表。 此最后服务日期是从另一个表格&今天使用最新的日期公式。

所有公式都是用VBA编写的,并作为值复制。现在我在提出累积使用公式方面遇到了问题。

使用以下公式开始小:

=SUM(Table10[Usage])

只会给我整个列的总数(包括来自机器A1和B2的数据),这不是我想要的。

我可以添加到此公式中的任何内容,不仅可以根据Die ID的名称计算总和,还可以根据上次服务日期设置的范围计算总和吗?或者我是否需要完全使用其他公式?

1 个答案:

答案 0 :(得分:2)

SUMIF函数应该可以满足您的需求。考虑您的第一个请求(基于Die ID的总和),您可以使用:

=SUMIF(Table10[Die ID],"=AAA",Table10[Usage])

然后,您可以详细说明日期范围。