【发布时间】:2017-01-10 13:51:32
【问题描述】:
我正在尝试根据Left 函数获取列的最大值
我正在做的事情如下:
这些是我将其写入 C 列时得到的结果:
=MAX(LEFT(A:A, 2))
但我真正想要的是在 C 列中获取所有 A 列的最大值,而不是每个单元格的最大值。
所以在这种情况下,所有行的结果应该是 90。
这里的公式应该是什么?
【问题讨论】:
标签: excel function excel-formula
我正在尝试根据Left 函数获取列的最大值
我正在做的事情如下:
这些是我将其写入 C 列时得到的结果:
=MAX(LEFT(A:A, 2))
但我真正想要的是在 C 列中获取所有 A 列的最大值,而不是每个单元格的最大值。
所以在这种情况下,所有行的结果应该是 90。
这里的公式应该是什么?
【问题讨论】:
标签: excel function excel-formula
【讨论】:
这是另一个我认为比我原来更好的解决方案(下)
=INT(SUMPRODUCT(MAX(SUBSTITUTE(A:A,"-",".")*1)))
可以正常输入(只需Enter)
你需要数字和数组
=MAX(IFERROR(LEFT(A:A,2)*1,0))
让我们分解一下。将你的字符串乘以 数字 - 因为Left 只返回一个字符串
LEFT(A:A,2)*1
不幸的是,如果您将空字符串乘以1,此方法将返回#Value。在A:A 范围内肯定会有一些空字符串,所以我们用IFERROR 函数包装整个内容。
IFERROR(LEFT(A:A,2)*1,0)
现在我们仍然需要 excel 将其视为一个数组(即一整列数字,而不仅仅是一个数字)。所以我们把MAX公式放进去,用Ctrl+Shift+Enter而不是Enter来输入.结果是公式在公式栏中是这样的
{=MAX(IFERROR(LEFT(A:A,2)*1,0))}
根据需要在您的示例中返回 90
如果您使用的是 Excel 2013 或更高版本,还可以使用 NUMBERVALUE 函数
=MAX(NUMBERVALUE(LEFT(A:A,2)))
再次,用 Ctrl+Shift+Enter
输入【讨论】: