将多个条件应用于公式

时间:2013-11-11 18:00:16

标签: excel excel-vba if-statement excel-formula multiple-conditions vba

我有一种情况,我需要将几个“价值边界”应用于几个不同的“起始位置”,然后输出“持续的位置”。

“价值边界”是:< 500,> = 500< 750,> 750< = 850> 850

“起始位置”是“基本”,“标准”,“标准+”和“白金”,

然后应用值边界并输出“持续位置”,

e.g。一个以“Basic”开头的人达到600,然后转到“标准”,或者“白金”的人得到700,所以恢复到“标准+”等等,我用嵌套的IF尝试了这个无济于事。

编辑:似乎解决方案超出了公式我需要VBA来解决这个问题吗?

5 个答案:

答案 0 :(得分:1)

如果您可以在某个地方找到包含范围的表格,那么这对您有用。

单元格F1包含E1中使用的公式(作为文本)。然后你可以向下复制粘贴。

enter image description here

答案 1 :(得分:0)

没有VLOOKUP()表:

= IF(A1< 500, “基本”,IF(AND(A1> = 500,A1< 750), “标准”,IF(AND(A1> = 750,A1< 800), “标准+”, “铂”)))

注意:

在VBA中,语法略有不同。

答案 2 :(得分:0)

如果我理解正确,您将输入两个数字,并根据这些数字在您的边界条件下的位置,确定正在进行的位置。此外,正在进行的立场不能超过起始位置的“一个不同”。

既然如此,D1中的第一分和E1中的第二分,我认为以下公式将输出正在进行的位置:

  

=选择(MATCH(D1,{0; 500; 750; 850})+ SIGN(   MATCH(E1,{0; 500; 750; 850}) - MATCH(   D1,{0; 500; 750; 850})), “基本”, “标准”, “标准+”, “铂”)

答案 3 :(得分:0)

O.K ....将值序列放在A列中。在B1中输入:

= IF(A1 <500,0,IF(AND(A1> = 500,A1 <750),1,IF(AND(A1> = 750,A1 <800),2,3)))和复制品向下

这将生成代码0到3以代表四个级别

在C1中输入:

= B1

在C2中输入:

= IF(ABS(B1-B2)&lt; 2,B2,IF(B2> B1,B1 + 1,B1-1))并复制

列C实现了一步限制。最后在D1输入:

=选择(C1 + 1,“基本”,“标准”,“标准+”,“白金”)并复制

这会将代码转换为字级

enter image description here

答案 4 :(得分:0)

我很难得到答案,但最终借助我能够解决的建议,这里是完成的公式:

=IF(AND(H4="Basic",G17<450),"Basic",IF(AND(H4="Basic",G17>=450),"Standard",IF(AND(H4="Standard",G17<450),"Basic",IF(AND(H4="Standard",G17>449,G17<700),"Standard",IF(AND(H4="Standard",G17>=700),"Standard+",IF(AND(H4="Standard+",G17>699,G17<800),"Standard+",IF(AND(H4="Standard+",G17<700),"Standard",IF(AND(H4="Standard+",G17>=800),"Platinum",IF(AND(H4="Platinum",G17<800),"Standard+","Platinum")))))))))