Excel 公式值介于最大和最小限度之间,并定义了可用步骤

Excel 公式值介于最大和最小限度之间,并定义了可用步骤

有谁能帮我提供一个公式,检查某个值是否在最大值和最小值之间,并定义可用的步骤?示例:可用值为 A1 = 1(最小值限制)B1 = 2(最大值限制)C1 = 0.2(可用步骤)这意味着可用值为:1、1.2、1.4、1.6、1.8 和 2。同样,值 1.1 无效。如果 A2 中的值不符合限制和可用步骤,则公式应返回“Err”。公式 =IF(OR(A2B1);"Err";”ok”) 处理最小值和最大值限制,但不处理可用步骤。

答案1

使用 IF(SUMPRODUCT())

=IF(SUMPRODUCT(--(A1+C1*(ROW($ZZ$1:INDEX($ZZ:$ZZ,INT((B1-A1)/C1)+1))-1)=A2)),"OK","ERR")

(ROW($ZZ$1:INDEX($ZZ:$ZZ,INT((B1-A1)/C1)+1))-1创建一个从 0 到达到上限所需步数的数组。

然后将该数组传递给数学:A1+C1*...=A2并创建一个 TRUE/FALSE 数组。SUMPRODUCT 计算 TRUE,如果有的话,在本例中为 1 或 0,If 将返回 TRUE。

在此处输入图片描述 在此处输入图片描述


使用动态数组(仅在 Office 365 中可用),我们可以缩短它:

=IF(OR(SEQUENCE((B1-A1)/C1+1,,A1,C1)=A2),"OK","ERR")

编辑,以避免步骤数组:

=IFERROR(IF(AND(A2>=A1,A2<=B1,MOD(ROUND((A2-A1)/C1,10),1)=0),"OK","Err"),"Nb! Check ""Step"" input")

在此处输入图片描述

答案2

在使用“=IF(SUMPRODUCT)”公式时遇到了几个问题...1)公式中可能的步骤数有限制2)我倾向于避免使用$,因为公式会被广泛复制到不同的工作簿中。

我想出了一个不同的公式(“Iferror”前面的部分处理未定义步骤的情况):

=IF(C1="";IF(AND(A2>=MIN(A1:B1);A2<=MAX(A1:B1));"ok";"Err");IFERROR(IF(AND(INT((A2-A1)/C1)=(A2-A1)/C1=TRUE;(A2-A1)/C1<=(B1-A1)/C1;(A2-A1)/C1>=0);"ok";"Err");"注意!检查“步骤”输入"))

“注意!由于某种原因,公式产生了一个我无法真正理解的错误。在下面的公式中,我希望单元格 A6 和 A10 中的 INT 公式等于 5。 INT-公式错误

相关内容