SUMPRODUCT跨表
时间: 2025-03-21 15:10:31 浏览: 36
### Excel 中 SUMPRODUCT 函数的跨工作表使用方法
SUMPRODUCT 是一种强大的数组处理函数,在单个工作表中可以完成复杂的条件求和操作。当需要跨越多个工作表执行类似的计算时,可以通过适当调整公式结构来实现这一目标。
#### 基本语法回顾
SUMPRODUCT 的基本语法如下:
```plaintext
=SUMPRODUCT(array1, [array2], [array3], ...)
```
其中 `array1`, `[array2]` 等参数表示参与运算的数组或区域[^3]。
对于跨工作表的情况,这些数组不仅可以来自当前工作表,还可以指向其他工作表中的数据范围。
---
#### 跨工作表使用的具体方式
假设存在两个工作表:
- **Sheet1** 包含产品名称及其对应的销售数量(列 A 和 B)。
- **Sheet2** 包含相同产品的单价信息(列 C 和 D)。
如果希望基于某个特定条件(例如指定的产品类别),从 Sheet1 获取销量并乘以 Sheet2 上的价格,则可构建以下公式:
```excel
=SUMPRODUCT((Sheet1!A:A="ProductX") * (Sheet1!B:B), Sheet2!D:D)
```
上述公式的含义为:
1. `(Sheet1!A:A="ProductX")` 创建了一个布尔数组,用于筛选符合条件的记录。
2. `(Sheet1!B:B)` 提供了对应于每条记录的数量值。
3. 将这两个部分相乘后得到的结果再与 `Sheet2!D:D` 单价列表逐一相乘,并最终累加所有结果[^1]。
注意:为了提高性能,建议将整个列替换为实际的数据范围,而不是整列引用(如 `A:A` 或 `B:B`)。例如改为更具体的范围像 `A2:A100` 可能会更加高效。
---
#### 实际案例分析
假设有以下两份表格内容:
| **Sheet1** | | |
|------------|-------|---------|
| Product | Sales | |
| Apple | 5 | |
| Banana | 8 | |
以及
| **Sheet2** | | |
|------------|--------|----------|
| Product | Price | |
| Apple | $2 | |
| Banana | $3 | |
要计算苹果 (`Apple`) 总销售额,可以在任意单元格输入以下公式:
```excel
=SUMPRODUCT((Sheet1!A2:A3="Apple")*(Sheet1!B2:B3), Sheet2!B2:B3)
```
此表达式的作用在于先匹配到 `"Apple"` 对应的位置,接着将其销售量取出并与价格做乘积最后汇总得出总金额。
---
#### 注意事项
1. 当涉及多张工作簿间的链接时,请确认源文件路径无误以免因移动位置造成断链问题。
2. 如果某些字段可能为空或者含有错误数值,考虑加入额外逻辑判断减少异常影响,比如利用 IFERROR 进行包裹处理。
---
### 示例代码展示
以下是完整的跨表计算实例演示:
```excel
=SUMPRODUCT(
(Sheet1!$A$2:$A$100=$E$1)* ' 条件比较,查找等于 E1 单元格的内容
(Sheet1!$B$2:$B$100), ' 销售数量所在列
Sheet2!$C$2:$C$100 ' 对应价格所在的另一张表上的列
)
```
通过这种方式即可轻松达成复杂场景下的统计需求。
---
阅读全文
相关推荐














