Arrays Excel-表格中的数组公式

Arrays Excel-表格中的数组公式,arrays,excel,powerquery,Arrays,Excel,Powerquery,我有一个Excel表格,其中包含来自power query的数据,这些数据被加载到表格中。它们作为表格自动加载(不是简单的范围) 在该表中,我有一个姓名列表(许多重复)和日期。我想创建另一列,显示每个名字的最新日期(见下图) 我可以很容易地使用数组函数={MAX(IF…}),但Excel不允许在表中使用数组。我无法将其转换为范围,因为这样它就无法正确更新 在工作表上有没有这样做的方法?如果没有,在Power Query中有没有这样做的方法 更新: 当我尝试使用数组公式时,会出现以下错误(当然使

我有一个Excel表格,其中包含来自power query的数据,这些数据被加载到表格中。它们作为表格自动加载(不是简单的范围)

在该表中,我有一个姓名列表(许多重复)和日期。我想创建另一列,显示每个名字的最新日期(见下图)

我可以很容易地使用数组函数={MAX(IF…}),但Excel不允许在表中使用数组。我无法将其转换为范围,因为这样它就无法正确更新

在工作表上有没有这样做的方法?如果没有,在Power Query中有没有这样做的方法

更新:

当我尝试使用数组公式时,会出现以下错误(当然使用CTRL+SHIFT+ENTER提交公式)。

这是一个纯PowerQuery解决方案。可能更快更干净

鉴于此起始表:

将其命名为“input”,然后导入到查询编辑器。转到高级编辑器并粘贴此代码:

let
//引入源表并调整类型
Source=Excel.CurrentWorkbook(){[Name=“input”]}[Content],
Type=Table.TransformColumnTypes(源,{{“Name”,Type text},{“Date”,Type Date}),
//按名称分组,保留所有行
Group=Table.Group(Type,{“Name”},{“Date”,each{,Type Table},{“Latest Date”,each List.Max([Date]),Type Date}),
//展开嵌套表并指定类型
Expand=Table.ExpandTableColumn(组,“日期”,{“日期”},{“日期”}),
Type2=Table.TransformColumnTypes(展开,{“日期”,键入日期})
在里面

Type2
对我来说(Excel 2016)公式
{=MAX(如果([Name]=[@Name],[Date])}
在表格中有效。对我来说它不起作用(见更新的问题)。不要将其作为多单元格数组公式。请在表中仅选择
C2
,并仅为此单个单元格输入数组公式。然后,它将作为列
最新日期的列公式应用。您说得对,谢谢!这非常有意义,杰克。谢谢您提醒我有关组函数的信息。:)