Excel 365中OR函数不支持溢出范围?如何让OR函数返回溢出范围?
Excel 365 OR函数不溢出数组问题解决方法
问题原因
OR 为聚合类逻辑函数,传入数组参数时会全局判断所有元素是否存在满足条件的项,最终仅返回单个布尔值,不会逐行计算输出数组。
可行解决方法
- 方法1:使用数组元素运算替代OR(最简洁)
直接改写C1公式为:=(A1#>1)+(B1#>1)>0
逻辑判断返回的布尔值在运算时会自动转换为1(TRUE)/0(FALSE),两个条件相加后大于0即代表至少一个条件成立,公式会自动逐行计算并溢出20行结果,第一行返回FALSE,其余行返回TRUE,完全匹配预期。 - 方法2:使用BYROW逐行处理(适合复杂逻辑场景)
如果后续需要在逐行逻辑中加入更复杂的判断,可以用LAMBDA结构的BYROW函数,公式为:=BYROW(SEQUENCE(ROWS(A1#)),LAMBDA(r,OR(INDEX(A1#,r)>1,INDEX(B1#,r)>1)))
该公式会遍历A1溢出范围的每一行,逐行调用OR做判断,最终返回对应行的结果数组。 - 方法3:使用BITOR按位或函数
Excel 365的BITOR函数支持按元素做按位或运算,公式改写为:=BITOR(A1#>1,B1#>1)=1
同样可以逐行返回判断结果。
内容的提问来源于stack exchange,提问作者J Vegetable
相关产品推荐
相关产品推荐

