【问题标题】:Excel Formula not accepted but no reason for errorExcel 公式不被接受,但没有错误原因
【发布时间】:2016-02-19 11:22:33
【问题描述】:

我有一个 if 公式,其中包含许多必须匹配的条件。

当我将公式缩短后,它的工作原理超出了 - IF(LEFT(A6,1)="2"

但没有理由在这一点上出错?有什么帮助吗?

=IF(LEFT(A6,2)="10","Area 1",IF(LEFT(A6,2)="12","Area 2",IF(LEFT(A6,2)="13","Area 3",IF(LEFT(A6,2)="14","Area 4",IF(LEFT(A6,2)="15","Area 5",IF(LEFT(A6,2)="16","Area 6",IF(LEFT(A6,2)="17","Area 7",IF(LEFT(A6,1)="2","Bulk",IF(LEFT(A6,1)="4","Intl",IF(LEFT(A6,2)="7","CGCC","Ad-Hoc"))))))))))

【问题讨论】:

    标签: excel excel-formula excel-2003


    【解决方案1】:

    您可以尝试结合IFVLOOKUP

    =IF(LEFT(A6,1)="4","Intl",IF(ISNA(VLOOKUP(LEFT(A6,2),{"7","CGCC";"10","Area 1";"12","Area 2";"13","Area 3";"14","Area 4";"15","Area 5";"16","Area 6";"17","Area 7"},2,FALSE)),"Ad-Hoc",VLOOKUP(LEFT(A6,2),{"7","CGCC";"10","Area 1";"12","Area 2";"13","Area 3";"14","Area 4";"15","Area 5";"16","Area 6";"17","Area 7"},2,FALSE)))
    

    我在公式中嵌入了数组,但您可以像这样准备一个表格(假设 G1:H7):

    然后将VLOOKUP 与引用一起使用:

    =IF(LEFT(A6,1)="4","Intl",IF(ISNA(VLOOKUP(LEFT(A6,2),G1:H7,2,FALSE)),"Ad-Hoc",VLOOKUP(LEFT(A6,2),G1:H7,2,FALSE)))
    

    IFNAIFERROR 也可以使用,但它们在 Excel 2003 中不可用。

    【讨论】:

      【解决方案2】:

      您的整个公式可以缩短为 2 个 VLOOKUP 函数,方法是将您的数据放入一个表格中,您的 ID 列位于 sheet2 的 A 列,而您的结果列位于 sheet2 的 B 列。如下所示:

      =IFERROR(VLOOKUP(LEFT(A6,2),'Sheet2'!A:B,2,0),IFERROR(VLOOKUP(LEFT(A6),'Sheet2'!A:B,2,0),"Ad Hoc"))
      

      这样做的目的是:首先尝试将 A6 中左侧的 2 个字符与 sheet2 中 A 列中的一个 ID 匹配。如果这会产生错误,它会尝试将 A6 中的左侧 1 个字符与 sheet2 的 A 列中的一个 ID 匹配。无论哪种方式,它都会返回 sheet2 的 B 列中的匹配值。如果未找到匹配项,则返回“Ad Hoc”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-17
        • 2011-01-20
        • 1970-01-01
        相关资源
        最近更新 更多