如何从单个单元格中的多个值中返回最大值?

如何从单个单元格中的多个值中返回最大值?

我的电子表格中有一些单元格包含多个日期,用分号分隔;

经过一番谷歌搜索,我发现这TEXTSPLIT可能是分解的最佳公式,但它会产生多列数据。我希望在分解之前比较单元格内的值,并返回组中最大的一个值。

这可能吗?我刚刚想到的一件事是使用一台有点复杂的机器,将值分解到单独的工作表中,并使用另一个公式从这些行中获取最大值。如果可以的话,我想避免使用多张工作表。

以下是示例: TextSplit 公式示例

答案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, ";")))

参见以下示例:

将 DATEVALUE 插入公式中

确保使用短日期字段来格式化单元格。

相关内容