在 Excel 中返​​回特定参考数字的最新值

在 Excel 中返​​回特定参考数字的最新值

我有一张包含今年销售数据的 Excel 表,每行代表一笔交易。共有 47 列,但对我而言,重要的是零件代码、单价和日期。

我想要的是能够确定特定交易是否是该特定零件代码的最新交易。示例数据如下:

A   B           C            D
1   partcode    price   date
2   red-one     £50.00  01/06/2016
3   blue-two    £4.50   01/11/2016
4   green-three £1.00   20/10/2016
5   red-one     £45.00  01/11/2016
6   red-one     £47.00  02/11/2016
7   blue-two    £5.00   20/05/2016
8   yellow-four £31.50  30/10/2016
9   yellow-four £31.00  01/10/2016

因此,我的最终目标是能够确定红色一号的最新价格为 47 英镑,蓝色二号为 4.50 英镑,绿色三号为 1 英镑,黄色四号为 31.50 英镑。我认为我可以通过创建一个名为“最近”的辅助列来实现这一点,该列将在第 2、3、5 和 7 行返回 TRUE。然后我可以很容易地在数据透视表中过滤它。但我不知道如何在一个公式中同时完成这两件事(即按零件代码子集并检查日期是否是范围内的最大值)。

答案1

我想也许你的意思是“一个名为“Most Recent”的辅助列将在第 3、4、6 和 8 行返回 TRUE”,因为这些行是date每个行中最新的partcode

对于Most Recent辅助列,您可以使用数组公式。但是,这样做的一个潜在问题是,如果数组公式必须处理大量行,则速度会非常慢。如果这对您来说不是问题,请尝试以下操作:

  1. 在单元格中E2键入以下内容,但不要按下Enter键接受:=MAX(IF($B$2:$B$9=B2,$D$2:$D$9)) = D2
  2. Ctrl++接受公式,这将使其成为数组公式(如果操作正确,当单元格具有焦点时,您将在公式栏中看到围绕公式的花括号ShiftEnter
  3. 公式-E2通过单元格向下复制单元格E9


这是一个屏幕截图(我在美国,为了避免歧义,我将日期格式化为 YYYY-MM-DD):

截屏

相关内容