TEXTJOIN函数中的嵌套AND函数未返回结果

时间:2019-02-16 04:58:05

标签: excel excel-formula

enter image description here

鉴于U因子和SHGC,我需要将相应的区域代码连接起来并输出到单元格B8中。

例如,假设U因子为0.3,SHGC为0.25,则只有U因子<= 0.3且SHGC <= 0.25的地区是南中部和南部地区。我想要的输出是其对应的地区 代码分别为“ SC”和“ S”。因此,最终结果应为“ SCS”。

我得出的公式是TEXTJOIN("",TRUE,IF(AND(C2:C5<=A8,D2:D5<=A9),A2:A5,""))

看起来很简单,但是结果是我只得到了空字符串。参见上图以供参考

为了演示我的函数在没有AND逻辑的情况下的成功使用,当分别应用于单元格C8和D8中的仅UFactor或SHGC时,我包括了TEXTJOIN结果。仅当使用AND函数组合这些结果时,它才会出错。仅对单元格C8中的UFactor输出获得接触结果的公式为:=TEXTJOIN("",TRUE,IF(C2:C5<=A8,A2:A5,""))

注意:不要忘记使用CTRL-SHIFT-ENTER,否则您将得到一个错误,因为这是一个数组公式。预先感谢

1 个答案:

答案 0 :(得分:1)

AND(或OR)不适用于数组公式。 AND和OR都使用一种循环计算形式,这种形式会破坏数组公式的循环计算。您需要嵌套IF语句。

' AND two conditions in an array formula
=TEXTJOIN("", TRUE, IF(C2:C5<=A8, IF(D2:D5<=A9, A2:A5, ""), ""))

' OR two conditions in an array formula
=TEXTJOIN("", TRUE, IF(C2:C5<=A8, A2:A5, IF(D2:D5<=A9, A2:A5, "")))

使用CSE完成。