gpt4 book ai didi

excel - 是否有一个函数,当输入 ref 为空时返回 "",如果不是,则返回其内容?

转载 作者:行者123 更新时间:2023-12-04 22:06:43 25 4
gpt4 key购买 nike

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 返回的数组有什么问题反正?这个简单的例子完美地工作:

enter image description here

...而 OFFSET 返回的数组不知何故想在公式中独处。

最佳答案

可能还有其他选择,但我目前看不到......

您可以使用这样的 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))))
也许在这里并不完全相关,但问题是找到可以处理这种类型的设置返回的“引用数组”的函数 - NT工作如这里所示,还有COUNTBLANK .可以在 OFFSET 输出上使用的其他函数是 SUBTOTALCOUNTIF .请注意 COUNTBLANK (与 SUBTOTALCOUNTIF 一起)可以在范围上工作,而 TN仅适用于单个值 - 如果将后一个函数应用于范围,它们只会查看范围中的第一个值 - 因为我能够使用 OFFSET没有“高度”参数,但您需要 COUNTBLANK (这是一个好习惯,所以 OFFSET 应该有最后的 1 就像这里

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

关于excel - 是否有一个函数,当输入 ref 为空时返回 "",如果不是,则返回其内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com