答案1
如果我理解正确的话,那么以下公式应该有效:
- 单元格中使用的公式B1
=MAX(--TEXTSPLIT(A1,"; "))
或者使用BYROW()
一次获取所有输出,无需向下填充!
=BYROW(A1:A3,LAMBDA(α, MAX(--TEXTSPLIT(α,"; "))))
对于现有的样本数据,上述公式同样适用,下面是一个示例演示。
解释:
- 使用函数:它有助于通过分隔符-->跨列
TEXTSPLIT()
拆分字符串。(请参考它所显示的)。semi-colon with a space
;
.gif
因为它是一个属于函数库的函数文本因此人们可以意识到,当使用时它会将日期字符串拆分为文本,这会给将来的数据操作带来问题,(笔记: 在 Excel 中,日期和时间存储为数字,因此整数部分代表日期,而小数部分代表日期的时间。)
因此,正如用户在 OP 中提到的那样,DATEVALUE()
它可以转换为真实日期,或者使用double unary
或通过添加0
或乘以1
或除以1
,最终转换。
- 一旦完成上述操作,我们就可以将其包装在
MAX()
函数中以返回最新/最佳/最大/最高(以合适的说法为准)日期。
原因:
0
为什么用户在使用我提供的公式时得到了,而他们使用时却得到了相应的输出DATEVALUE()
,需要解释的是,屏幕截图可以说明这一点。
- 用户仅使用分号作为分隔符,
;
而我使用分号和空格;
- 因此,当使用双一元运算符包装时,
MAX()
它会返回错误,因为它只将第一个转换为数字,而第二个返回错误,因为它有一个前导空格。但使用分号和空格分隔符的那个应该可以工作,请参阅屏幕截图。
- 使用
DATEVALUE()
函数,它会处理前导空格并将其转换为数字,最后将其换行MAX()
即可得到所需的输出。替代方法,在开头已经提到使用;
,另一种处理方法是使用TRIM()
=MAX(--TRIM(TEXTSPLIT(A3,";")))
答案2
我没试过@MayukhBhattacharya 提供的答案,但我确实很感谢您提供的信息,因此我向该用户提供了答案。
我确定答案需要更改为 DateValue,因此我在 MAX 和 TEXTSPLIT 公式之间插入了 DATEVALUE 公式。
我使用的公式是:
=MAX(DATEVALUE(TEXTSLIT(A2, ";")))
参见以下示例:
确保使用短日期字段来格式化单元格。