是否有一个功能,那将返回“”时,输入裁判是空的,并且它的内容,如果它不是?(Is there a f

2019-10-18 22:24发布

IMO Excel中有空白单元格的怪异治疗。

我建立一个复杂的数组公式。 一个被引用的范围的含有细胞,其可以或者可以不为空,并且如果不为空,就可以同时包含数字值和字符串。

什么功能,我可以使用,以获取单元格的值如果单元格不为空,而“”(或任何其他非数字字符,如#N/A )如果单元格是空的?

我想是这样的工作:

=MIN(OFFSET(<column vector that contains text, numbers and empty cells>;<row vector of indices>-1;0))

公式的这种形式返回#ARG错误,因为在回答解释为什么这个数组公式不起作用? 。

但是,当我前缀OFFSETN ,它将任何空单元到0 ,因此,最终的结果是0 (除非有在所述列向量的负数)。

=MIN(L(OFFSET(<column vector>;<row vector of indices>-1;0)))

有没有公式,只有取消引用返回的参考OFFSET保留空单元格的“emptyness”? 或者,也许有解决问题的另一种方式,像

=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。

我会接受任何解决方案,即使用细胞的恒定数目irregardless每个输入阵列的大小的。


编辑:

作为一个方面的话我不知道什么是错与返回的数组OFFSET呢? 这个简单的例子完美的作品:

...同时通过返回的数组OFFSET莫名其妙地想独自在公式中。

Answer 1:

有可能是另一种选择,但我没有看到它的那一刻.....

您可以通过使用IF这样筛选出零

=MIN(IF(N(OFFSET(INDIRECT($A$2),$C4:$G4-1,0))<>0,N(OFFSET(INDIRECT($A$2),$C4:$G4-1,0))))

但不会任何实际的零之间在范围和区分当N函数遇到空白或文本那些产生

编辑

这个版本应该工作

=MIN(IF(COUNTBLANK(OFFSET(INDIRECT($A$2),$C4:$G4-1,0,1))+LEN(T(OFFSET(INDIRECT($A$2),$C4:$G4-1,0,1))),"",N(OFFSET(INDIRECT($A$2),$C4:$G4-1,0,1))))

也许并不完全在这里有关,但问题是找到能够处理“引用数组”通过这种类型的设置OFFSET函数返回- NT的工作如下图所示,也COUNTBLANK 。 可在偏移输出可以使用其他的功能SUBTOTALCOUNTIF 。 需要注意的是COUNTBLANK (连同SUBTOTALCOUNTIF )可以在范围时工作TN将只与单个值工作-如果后者功能应用于范围他们简单地看范围中的第一值-因为是我能要使用OFFSET没有“高度”参数,但你需要与COUNTBLANK (和它的以获得良好的习惯,这么OFFSET应有最后1这里

= OFFSET(INDIRECT($ A $ 2),$ C4:$ G4-1,0,1)



Answer 2:

考虑B1:

= IF(ISBLANK(A1), “不需要”,A1)

所以,如果A1包含公式:

= “”

然后B1也将显示空。



Answer 3:

另一种可能性:

=MIN(CELL("contents",OFFSET(INDIRECT($A$2),N(INDEX($C4:$G4-1,)),0)))

N(INDEX(...))部分是用于执行阵列评价特技。



文章来源: Is there a function, that would return “” when input ref is empty, and its contents if it is not?