我在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))
你的公式很好,只需将值转换为这样的数字:
=IF(N(BK6:BK12)>0; BK6:BK12;IF(N(BJ6:BJ12)>0; BJ6:BJ12; BI6:BI12))