任何人都可以缩短这个excel公式

时间:2014-12-11 11:04:18

标签: excel

我正在研究一个公式来比较2个文本值并显示"最高优先级" 我已经创建了下面的公式,并且效果很好(我已经弄乱了格式以便于阅读)

我的问题是我尝试将其写入宏(使用刻录机),我宁愿让它更短更容易阅读。 我的宏发现了一些我确定与长度有关的错误。

        =IFERROR(
    IF([@[Standardised Priority]]="A","A",IF([@Priority]="Blocker","A",
    IF([@[Standardised Priority]]="B","B",IF([@Priority]="Critical","B",
    IF([@[Standardised Priority]]="C","C",IF([@Priority]="Major","C",
    IF([@[Standardised Priority]]="D","D",IF([@Priority]="Minor","D",
    IF([@[Standardised Priority]]="E","E",IF([@Priority]="Triv","E",
    "UNCLASSIFIED")))))))))),"UNCLASSIFIED")
我有3列(1,2,3) 第1列可以有A,B,C,D,E(A =最高/ E =最低) 第2列可以包含" Blocker"," Critical"," Major"," Minor"," Trivial" (阻挡者=最高/平凡=最低) 第3列显示最高优先级

1 个答案:

答案 0 :(得分:0)

尝试使用vlookup。

在某处创建一个vlookup表(在另一个工作表上?),如下所示:

       A       |    B
1   Text value | VLOOKUP Value
2   Blocker    |    A
3   Critical   |    B

然后,您可以按如下方式使用vlookup,假设“标准化优先级”列中[ABCDE]以外的所有其他值都为空(“”):

IF([@[Standardised Priority]]<>"";[@[Standardised Priority]];VLOOKUP([@Priority];$A$3:$B$4;2;FALSE))

绝对不漂亮,但它更短。尝试制作工作表名称配置左右,并将vlookup表创建为命名Excel表,以便允许它动态添加新行(确保编辑上面的公式指向新表而不是$ A $ 2:$ A $ 3)