Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谁能缩短这个excel公式_Excel - Fatal编程技术网

谁能缩短这个excel公式

谁能缩短这个excel公式,excel,Excel,我正在研究一个公式来比较两个文本值并显示“最高优先级” 我已经创建了下面的公式,效果很好(为了便于阅读,我弄乱了格式) 我的问题是,我正试图将其写入宏(使用记录器)中,我希望它更简短、更易于阅读。 我的宏抛出了一些错误,我肯定这些错误与长度有关 =IFERROR( IF([@[Standardised Priority]]="A","A",IF([@Priority]="Blocker","A", IF([@[Standardised Priority]]="B"

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

我的问题是,我正试图将其写入宏(使用记录器)中,我希望它更简短、更易于阅读。 我的宏抛出了一些错误,我肯定这些错误与长度有关

        =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列可以有“拦截器”、“关键”、“主要”、“次要”、“次要”(拦截器=最高/次要=最低)
第3列显示最高优先级

尝试为此使用vlookup

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

       A       |    B
1   Text value | VLOOKUP Value
2   Blocker    |    A
3   Critical   |    B
然后,假设“标准化优先级”列中除[ABCDE]之外的所有其他值均为空(“”),则可以按如下方式使用vlookup:

IF([@[Standardized Priority]];[@[Standardized Priority]];VLOOKUP([@Priority];$A$3:$B$4;2;FALSE))

当然还是不漂亮,但它比较短。尝试进行工作表名称配置,并将vlookup表创建为命名的Excel表,以允许它动态添加新行(请确保编辑上面的公式以指向新表,而不是$a$2:$a$3)

是否可以添加您在Word中使用的逻辑?这通常有助于你了解哪些条件可以组合在一起。谢谢,我现在就试试。谢谢,这太棒了!
IF([@[Standardised Priority]]<>"";[@[Standardised Priority]];VLOOKUP([@Priority];$A$3:$B$4;2;FALSE))