答案1
日期和时间以数字表示,其中整数部分表示日期,小数点后的部分表示时间。有关 Excel 中的日期的更多信息。
因此,基本上您要寻找的是最大数和第二大数。使用公式LARGE
。
Ultimate=LARGE(Table1[Date]*(Table1[UID]=[@UID]),1)
Penultimate=LARGE(Table1[Date]*(Table1[UID]=[@UID]),2)
如果您使用以下其中之一:适用于 Microsoft 365 的 Excel 适用于 Microsoft 365 for Mac 的 Excel 适用于网页版 Excel 适用于 iPad 的 Excel Excel Web 应用 适用于 iPhone 的 Excel 适用于 Android 平板电脑的 Excel 适用于 Android 手机的 Excel。 或更新版本。
在旧版 Excel 中:您必须输入数组公式。
必须用 进行确认CTRL+SHIFT+ENTER
。如果操作正确,公式将被包装在 中{}
。这意味着公式是作为数组公式计算的。
怎么运行的:
(Table1[UID]=[@UID])
返回与Table1[UID]
列大小相同的 TRUE 或 FALSE 矩阵。Table1[Date]*(Table1[UID]=[@UID])
日期列乘以1.
Excel 的结果公式,以这种方式处理布尔值TRUE = 1
。FALSE = 0
此步骤的结果是带有数字值的矩阵,其中 UID 不同的所有行[@UID]
都是0
最后,LARGE 公式从上一步的结果中找出第 n 个最大值。您将得到代表日期的数字(将其格式化为日期)
有几点需要注意:
- 当 UID 没有最终/倒数第二时间时,您将获得
0
。使用 IF 函数来处理此异常。 - 如果表 1 中一个 UID 有两个相同的最近日期,则倒数第二个时间将与最后一个时间相同(第一大值和第二大值相同)