数据为包含整数的字符串的行中的最大值

Maximum value in a row where the data is a string containing an integer

我想要做的是从包含数据的行中获取最大值,该数据的形式为 "x kg",其中 x 是一个整数,但总体而言这形成了一个字符串。问题是 运行 在这个 returns 0 上 =MAX(C5:AA5)(原因很明显)。

我考虑过使用另一个公式 =LEFT(C5, LEN(C5) - 3) 但问题是它只适用于单个单元格。

我如何(必要时使用脚本)在知道该行只是字符串且其中包含字符串格式的整数的情况下获取行中的最大值?

我的行看起来像这样:(注意逗号代表另一个单元格)

"20 kg", "30 kg", "40 kg", "50 kg", ...

=ARRAYFORMULA(MAX(IFERROR(VALUE(REGEXEXTRACT(A20:A, "\d+")))))

您可以创建自定义数字格式而不是添加文本 "kg"。 Select 格式 > 数字 > 更多格式 > 自定义数字格式 > 并在文本字段中输入 0 "kg"。现在将为您保存该格式,您可以将其应用于整行并使 MAX() 公式正确工作,同时保持您的视觉格式。

更短的解决方案:

=ARRAYFORMULA(MAX(VALUE(SUBSTITUTE(A20:A, " kg", ""))))

更短:

=ARRAYFORMULA(MAX(IFERROR(SPLIT(A20:A," "))))