{FALSE,TRUE,#N/A,#N/A,#N/A,#N/A,#N/A,#N/A,#N/A,#N/A}
要获得正确的结果 , 需要使用
{“X”;”X”}
因此 , 正确的公式为:
=LINEST(INDEX(3:3,N(IF(1,MODE.MULT(IF(A2:J2={“X”;”X”},COLUMN(A2:J2)))))))
当然 , 这里的示例也可以使用其他条件语句替换 。例如 , 要从区域A2:A11中排除空单元格 , 可以采用:
<>{“”,””}
替换:
={“X”,”X”}
现在 , 如果在公式中不采用硬编码“X” , 而是根据单元格D1中的值来动态计算 , 如下所示 。

可使用公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(A2:A11=D1,{1,1}*ROW(A2:A11)))))))
好!有了上面的基础后 , 我们可以将示例进行变化 。例如 , 如果想要操作列B中的数字单元格 , 可以使用公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(ISNUMBER(B2:B11),{1,1}*ROW(B2:B11)))))))
同样 , 如果要对第二个参数进行类似的限制 , 则只需对它进行必要的修改即可重复使用此技术 。继续使用LINEST作为示例 , 我们可能经常遇到这样的情况 , 即必须限制传递给该函数的第二个参数known_x的范围 。这样 , 可以构造公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(A2:A11=”X”,{1,1}*ROW(B2:B11)))))),INDEX(C:C,N(IF(1,MODE.MULT(IF(A2:A11=”X”,{1,1}*ROW(C2:C11)))))))
