【发布时间】:2014-11-08 18:38:44
【问题描述】:
IMO Excel 对空单元格的处理方式很奇怪。
我正在构建一个复杂的数组公式。引用的范围之一包含单元格,这些单元格可能为空,也可能不为空,如果不为空,它们可以同时包含数值和字符串。
我可以使用什么函数,如果单元格不为空,则获取单元格的值,如果单元格为空,则获取“”(或任何其他非数字,例如#N/A)?
我想让这样的东西工作:
=MIN(OFFSET(<column vector that contains text, numbers and empty cells>;<row vector of indices>-1;0))
这种形式的公式会返回一个#ARG 错误,正如Why this array formula doesn't work? 的答案中所解释的那样。
但是当我在OFFSET 前面加上N 时,它会将任何空单元格转换为0,因此最终结果是0(除非列向量中有负数)。
=MIN(L(OFFSET(<column vector>;<row vector of indices>-1;0)))
是否有任何公式,仅取消引用 OFFSET 返回的引用,保留空单元格的“空性”?或者也许有另一种解决问题的方法,比如
=MIN(IF(OFFSET(<column vector>;<row vector of indices>-1;0)="",L(OFFSET(<column vector>;<row vector of indices>-1;0)),""))
(此示例也因#ARG 而失败,因为据我所知,我还需要取消引用= 测试的数组引用)。
如果可能的话,我更愿意保留 Excel 2007 的内置函数集。而且没有VBA。
我会接受任何解决方案,即使用恒定数量的单元格,而不管每个输入数组的大小。
编辑:
顺便说一句,我想知道OFFSET 返回的数组有什么问题?这个简单的例子完美运行:
...OFFSET 返回的数组不知何故想在公式中独处。
【问题讨论】:
-
只是为了理解,把它放在最简单的形式中,你想要,例如
MIN(A1:A10)例如,A1:A10 中的单元格可能是空的数字或有文本? -
@JohnBustos 恐怕没有。我需要一些适用于数组公式的东西。我不知道如何简化问题中的示例。
标签: excel excel-formula