# Excel查找多个单位最新价格的解决方案
## 数据示例
| 单位 | 产品 | 日期 | 价格 |
|--------|--------|------------|-------|
| A公司 | 手机 | 2023-01-05 | 2500 |
| B公司 | 手机 | 2023-02-12 | 2450 |
| A公司 | 手机 | 2023-03-20 | 2380 |
| C公司 | 手机 | 2023-04-01 | 2550 |
## 方法1:MAXIFS+XLOOKUP组合
excel
=XLOOKUP(
MAXIFS(C:C, A:A, "目标单位", B:B, "目标产品"),
C:C,
D:D,
"无数据",
0,
1
)
**参数说明**:
- `MAXIFS`定位最新日期
- `XLOOKUP`精确查找对应价格
- 适用于Office 365或Excel 2021+
## 方法2:SORT+FILTER组合
excel
=TAKE(
SORT(
FILTER(D:D, (A:A="目标单位")*(B:B="目标产品")),
FILTER(C:C, (A:A="目标单位")*(B:B="目标产品")),
-1
),
1
)
**特点**:
- 自动排序后取最新记录
- 支持动态数组
- 需要Office 365
## 方法3:传统INDEX+MATCH
excel
=INDEX(D:D,
MATCH(1,
(A:A="目标单位")*
(B:B="目标产品")*
(C:C=MAXIFS(C:C,A:A,"目标单位",B:B,"目标产品")),
0)
)
**注意**:
- 需按Ctrl+Shift+Enter输入数组公式
- 兼容旧版Excel
## 验证方法
建议:
1. 检查日期列格式是否为规范日期格式
2. 确认单位/产品名称完全匹配
3. 处理空值时使用IFERROR函数
## 性能优化
- 避免整列引用(如A:A改为A2:A100)
- 使用Excel表格结构化引用
- 对大数据量建议使用Power Query处理