Excel 与多个 IF 的比较

标签 excel excel-formula

我有一个标度,根据它我决定乘法系数的值。比例如下:

Scales

这意味着:

  • 对于 Category1:当 value>=1.000.000 时,coef1,当value>=500.000coef0.8 等等

  • 相同的逻辑适用于Category2

然后我输入以下格式的数据:

Company !MainCat|Sales Amount|
Company1|T1     |   6.500.000|
Company2|T2     |      70.000|

我需要找到对应的系数,系数与值的比率(=ratio*MaxCoef)。目前,我通过以下方式找到 coef: - 对于公司1:

 =IF(C8>=$D2;$D$1;IF(C8>=$E2;$E$1;IF(C8>=$F2;$F$1;IF(C8>=$G2;$G$1;IF(C8>=$H2;$H$1;IF(C8>=$I2;$I$1))))))

这实际上是硬编码的,看起来不太好。也许有更好的方法?有什么建议吗?

公式 View :

Data

最佳答案

您可以COUNTIF(range, [criteria] < value) * 0.2作为您的添加0.2coef阶段。

给你的数据是:=COUNTIF(D2:H2, "<"&C8) * 0.2 ,统计该值经过了多少阶段 *每个阶段的值(value)。

如果范围需要到H2,则您的计数如I20 ,所以不如 value并被计数。

合并COUNTIF()根据 MainCat 动态搜索正确的类别你可以MATCH() MainCatCode这将给出 row其中Code位于并利用 INDIRECT()将其应用为 range .

=COUNTIF(INDIRECT("D"&MATCH(B8,B:B,0)&":H"&MATCH(B8,B:B,0)),"<"&C8)*0.2

MATCH(B8,B:B,0) - 将匹配 B8 上的值(假设 T1 )并返回 row 2.

INDIRECT("D"&MATCH(B8,B:B,0)&":H"&MATCH(B8,B:B,0) =INDIRECT("D"&2&":H"&2) - 将文本转换为实际的 rangeCOUNTIF() 使用.

关于Excel 与多个 IF 的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744181/

相关文章:

一次结束宏的VBA代码

excel - Office 2016 -> 2013 "compile error, can' t 查找项目或库”

excel - 如何在excel VBA中为具有命名范围的图表设置源数据

Excel:检查两个值是否介于其他两个值之间

excel - 隐藏列时的公式小计 109 在 Excel 中不起作用

excel - 带有电源查询的 POST 请求未返回所需的结果

excel - 如何将这些代码块截断为一个嵌套的 for 循环?

Excel - 读取一个单元格中的值并将其替换为另一个单元格中的字符串

vba - Excel VBA .FormulaArray 错误

Excel公式: Count repetition factor in a list (Vlookup/Indirect help)