0

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

“值边界”是:<500、>=500<750、>750<=850 和 >850

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

然后应用价值边界并输出“正在进行的位置”,

例如,从“Basic”开始的人达到 600,然后转到“标准”,或者“Platinum”的人获得 700,因此恢复为“Standard+”等,我已经尝试使用嵌套 IF 进行此操作,但无济于事。

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

4

5 回答 5

1

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

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

在此处输入图像描述

于 2013-11-11T18:42:46.080 回答
0

没有 VLOOKUP() 表:

=IF(A1<500,"基本",IF(AND(A1>=500,A1<750),"标准",IF(AND(A1>=750,A1<800),"标准+","白金" )))

笔记:

在 VBA 中,And语法略有不同。

于 2013-11-11T18:09:29.107 回答
0

如果我理解正确,您将输入两个数字,并根据这些数字相对于您的边界条件的位置,确定当前位置。此外,当前位置与起始位置不能超过“一个不同”。

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

=CHOOSE(匹配(D1,{0;500;750;850})+SIGN(匹配(E1,{0;500;750;850})-匹配(D1,{0;500;750;850})) "基本","标准","标准+","白金")

于 2013-11-11T21:27:14.783 回答
0

好的...将值序列放在 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)<2,B2,IF(B2>B1,B1+1,B1-1)) 并向下复制

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

=CHOOSE(C1+1,"Basic","Standard","Standard+","Platinum") 并复制下来

这会将代码转换为字级

在此处输入图像描述

于 2013-11-11T21:56:44.187 回答
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")))))))))
于 2013-11-18T19:40:12.490 回答