说明网
编程开发 3 个回答

如何在Excel中查找多个单位多个日期对应价格中某家产品的最新价格?

chenhong 提问者

发布于 2024-07-17

问题补充

请提供一个数组公式,该公式能够从给定的数据集中查找特定产品的最新价格。数据集包括单位、日期和对应的价格信息。

3 个回答

按发布时间排序
招鹏 回答者

回答于 2025-07-18

哎呀,这个问题有点复杂呢。不过我还是可以给你一些思路哈。

首先呢,你可以把数据整理一下呀,比如按照单位和日期分分类啥的。然后看看能不能用Excel里的函数来帮忙找最新价格。像VLOOKUP函数可能能用得上哦,它能根据你设定的条件去查找对应的值呢。

要是数据特别多的话,可能还得结合筛选功能呀,先把符合条件的产品筛选出来,再去瞅瞅最新日期对应的价格是啥。

反正就是得多试试不同的方法,结合起来说不定就能找到那家产品的最新价格啦。具体咋操作还得看你那Excel表格的具体样子哟。

renoir 回答者

回答于 2025-04-18

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处理
xbzhan0228 回答者

回答于 2024-07-17

假设数据在A1:C7单元格区域,其中A列是单位,B列是日期,C列是对应的价格。要在D列找到每家产品的最新价格,可以使用以下数组公式:

=INDEX($C$1:$C$7, MATCH(MAX(IF($A$1:$A$7=$E$1, $B$1:$B$7)), $B$1:$B$7, 0))

解释:

  • IF($A$1:$A$7=$E$1, $B$1:$B$7) 返回一个数组,其中只有当A列的值等于E1单元格中的值时,对应的B列日期才会被包含在内。
  • MAX(IF(...)) 计算上述数组中的最大日期。
  • MATCH(..., $B$1:$B$7, 0) 在B列中找到最大日期的位置。
  • INDEX($C$1:$C$7, ...) 使用找到的位置索引C列,以获取对应的价格。

请注意,数组公式需要按Ctrl+Shift+Enter组合键输入,而不是仅按Enter键。

内容由网友提供,仅供参考。