使用 ArrayFormula 在一系列列中查找最新日期

Using ArrayFormula to find the latest date in a range of columns

我想在 Google Sheet 中自动查找连续的最新日期,其中包含几个可能的日期列。我的虚拟 sheet 在这里:

https://docs.google.com/spreadsheets/d/1j9pRECnAKtKtvAfhMvLv93-u6_kwIrFZg3RY3jSkpkU/edit?usp=sharing

日期列 (E:G) 在填充特定行的日期之前是空白的(每行是一个人,日期是他们做特定事情的日期 A B 或 C)。我目前有一列“lastPersonContact”,它使用 MAX() 计算该行范围内的最新日期。我希望这个公式自动传播到新行,因为我的数据集非常大并且一直在添加任意数量的行。问题是我只知道如何使用 ArrayFormula 来计算一行或所有行中整个列范围的最大值,这意味着我的 ArrayFormula 代码 returns 所有行的相同值(最大值所有行中的所有日期)而不是该特定行的最新日期。

您可以在 O 列中看到我尝试使这项工作(无效)。我想要的输出在 D 列中是正确的,但不会自动填写。

我认为这对你有用。它使用 SPLIT() 和 FLATTEN() 构建一个二维数组,然后查询以找到每行的最大值。然后在该查询中对该行进行 vlookup。

=ARRAYFORMULA(IF(A2:A="",,VLOOKUP(ROW(A2:A),QUERY(SPLIT(FLATTEN(ROW(A2:A)&"|"&E2:G),"|",0,0),"select Col1,MAX(Col2) group by Col1"),2,0)))