当列包含零长度字符串时如何使用 IF/IFS/ISBLANK

问题描述 投票:0回答:1

我在Excel中处理数据,其中大部分数据都是用动态函数处理的。某些单元格显示为空,但可能包含零长度字符串。无论如何,发现 EXCEL 并不将空单元格视为实际的空白。必须制作一个 IFS 函数,如附图所示,其中出现直径。如果未执行计算,则必须使用数据库直径,否则必须使用模型直径。但如果手动输入直径,则将使用此直径。但挑战在于 BJ 列中的“空白”单元格实际上并不是空白,这就是为什么我的 IFS 函数复制“空白值”而不是跳转到 BI 列(数据库值)。

出于工作簿质量检查的目的,我不允许使用VBA。

我正在使用以下功能:

=IFS(BK6:BK12>0; BK6:BK12; BJ6:BJ12>0; BJ6:BJ12; BI6:BI12>0; BI6:BI12; ISBLANK(BJ6:BJ12); BI6:BI12)

不过这个功能我也尝试过:

=IFS(BK6:BK12>0; BK6:BK12; BJ6:BJ12>0; BJ6:BJ12; BI6:BI12>0; BI6:BI12; BJ6:BJ12=""; BI6:BI12)

还有这个:

=IFS(BK6:BK12>0; BK6:BK12; BJ6:BJ12>0; BJ6:BJ12; BI6:BI12>0; BI6:BI12; COUNTBLANK(BJ6:BJ12); BI6:BI12)

还有这个:

=IFS(BK6:BK12>0; BK6:BK12;      BJ6:BJ12>0; BJ6:BJ12;      BI6:BI12>0; BI6:BI12;      BJ6:BJ12<>""; BJ6:BJ12;      ISTEXT(BJ6:BJ12); BI6:BI12;      TRUE; "")

我也尝试过使用嵌套的 IF 语句来代替:

=IF(BK6:BK12>0; BK6:BK12;IF(BJ6:BJ12>0; BJ6:BJ12; BI6:BI12))

我展示了它看起来与该功能(错误的答案)

它应该是这样的(正确答案):

arrays excel if-statement excel-formula
1个回答
0
投票

你的公式很好,只需将值转换为这样的数字:

=IF(N(BK6:BK12)>0; BK6:BK12;IF(N(BJ6:BJ12)>0; BJ6:BJ12; BI6:BI12))

© www.soinside.com 2019 - 2024. All rights reserved.