Excel If 函数与 Match 函数具有更多条件

Excel If 函数与 Match 函数具有更多条件

我对包含更多条件的 if 函数和 match 函数有疑问。有解决方案吗?

目前我尝试使用这个数组公式但无法得到任何结果。

{=IF(MATCH(A1;'6(AKK)'!$A$1:$A$100);"AKK";

IF(MATCH(A1;'6(K3)'!$A$1:$A$100);"K3";

IF(MATCH(A1;'6(Kesling)'!$A$1:$A$100);"健康教育";

IF(MATCH(A1;'6(Kespro)'!$A$1:$A$100);"健康再生";

IF(MATCH(A1;'6(Promkes)'!$A$1:$A$100);"健康促销";

IF(MATCH(A1;'6(Epid)'!$A$1:$A$100);"流行病学";

IF(MATCH(A1;'6(Gizi)'!$A$1:$A$100);"Gizi 健康福利院";"Gagal")))))))}

例如,主表中的数据如下所示。

      A                B
  1. R.15.01.001(这是细胞配方)

  2. R.15.01.002

  3. R.15.01.003

例如,工作表“6(AKK)”中的数据

      A

1 R.15.01.001

2 R.15.01.003

3 R.15.01.007

4 等等...

例如,工作表“6(K3)”中的数据

      A

1 R.15.01.002

2 R.15.01.004

3 R.15.01.005

4 等等...

每张工作表看起来都一样,但每张工作表上的数字都不相同 6. 我需要它来完成某些任务。我希望在这里能有一个解决方案。

答案1

有两种方法可以实现这一点。

选项 1(笨重且不太复杂,但可能更容易遵循)

因为当函数无法找到与特定工作表匹配的内容时MATCH会返回(或出现错误),所以一种解决方案是将语句包装到嵌套语句中。#N/AISNAIF

我在这里为您提供了前 3 张表的示例:

=IF(ISNA(MATCH(A2,'6(AKK)'!$A$1:$A$100,0)),IF(ISNA(MATCH(A2,'6(K3)'!$A$1:$A$100,0)),IF(ISNA(MATCH(A1,'6(KESLING)'!$A$1:$A$100)),"[See Note]","Kesehatan Lingkungan"),"K3"),"AKK")

笔记- 继续IF(ISNA(MATCH ...在此处嵌入语句。在最后一个语句中,将“Gagal”放在此处。

正如你所见,它会变得又长又丑。但它能工作。

最后,输入这个常规的公式,而不是数组公式。

选项 2(更复杂、更高效,需要更多的初始输入)

  1. 定义命名范围使用公式将结果显示为 sList =MID(TRANSPOSE(GET.WORKBOOK(1))&T(NOW()),FIND("]",TRANSPOSE(GET.WORKBOOK(1))&T(NOW()))+1,255)(有关获取工作簿
  2. 设置具有相应返回值的工作表名称的参考表,并使用 return_values 名称定义此范围

在此处输入图片描述

  1. 将此公式(作为数组)输入到单元格 B1 中=VLOOKUP(INDEX(sList,MATCH(TRUE,COUNTIF(INDIRECT("'"&sList&"'!$A$1:$A$100"),A1)>0)),return_value,2,0) ,然后向下拖动 A 列中每个值的行

相关内容