Excel formula 如何根据条件指定excel列中的编号

Excel formula 如何根据条件指定excel列中的编号,excel-formula,Excel Formula,Excel中有四列显示值,它们是正值、负值或零值 根据这些值,我们需要在新列中指定值。如果所有值均为正值,则应将值指定为1。如果所有的值都是负数,那么我们应该指定一个值为2,依此类推。我们有72个这样的组合 除了嵌套IF,还有其他方法可以实现这一点吗?假设我们通过D1查看A1,假设所有单元格都有数字。(无空格) 如果所有值均为正值,则MIN(A1:D1)将大于零。如果所有值均为负值,则MAX(A1:D1)将小于零 在您的情况下,很容易避免嵌套的IFs。我们可以使用布尔因子。在E1中输入: =(M

Excel中有四列显示值,它们是正值、负值或零值

根据这些值,我们需要在新列中指定值。如果所有值均为正值,则应将值指定为1。如果所有的值都是负数,那么我们应该指定一个值为2,依此类推。我们有72个这样的组合


除了嵌套IF,还有其他方法可以实现这一点吗?

假设我们通过D1查看A1
假设所有单元格都有数字。(无空格)

如果所有值均为正值,则
MIN(A1:D1)
将大于零。
如果所有值均为负值,则
MAX(A1:D1)
将小于零

在您的情况下,很容易避免嵌套的
IF
s。我们可以使用布尔因子。在E1中输入:

=(MIN(A1:D1)>0)*1 + (MAX(A1:D1)<0)*2
=CHOOSE(SIGN(A1)+2,"A","B","C")&CHOOSE(SIGN(B1)+2,"A","B","C")&CHOOSE(SIGN(C1)+2,"A","B","C")&CHOOSE(SIGN(D1)+2,"A","B","C")
=VLOOKUP(E1,H:I,2,)
并向下复制:

现在我们有了代码字,我们可以制作一个vlookup表来获得相关的数字。在列H中列出可能出现的码字,并在每个码字旁边列出所需的数值:

最后在F1中输入:

=(MIN(A1:D1)>0)*1 + (MAX(A1:D1)<0)*2
=CHOOSE(SIGN(A1)+2,"A","B","C")&CHOOSE(SIGN(B1)+2,"A","B","C")&CHOOSE(SIGN(C1)+2,"A","B","C")&CHOOSE(SIGN(D1)+2,"A","B","C")
=VLOOKUP(E1,H:I,2,)
并向下复制:


使用Gary's Student发布的MIN/MAX test,您还可以将其格式化为嵌套的if语句,从而使您想要的输出更加灵活


=if(MIN(A1:D1)>0,1,if(MAX)(A1:D1)谢谢你的建议。但是,我不一定会有所有的正值或负值。可以有正值和负值的组合。有时在四列中的任何一列中都可能是零。我相信你提到的上述公式在这种情况下可能不起作用。有没有办法实现它。如果我没有做到,对不起请稍早回答我的请求。@Siddhartadeshavali请参阅我的编辑#1