如何将这个长公式作为我的数据验证列表?

时间:2016-09-17 22:03:58

标签: excel-vba excel-formula excel-2013 excel-2016 vba

如何将这个长公式作为我的数据验证列表?

  

= IF(P2 =" SUML01",SUML01,IF(P2 =" SUML02",SUML02,IF(P2 =" SUML03",SUML03,IF (P2 =" SUML04",SUML04,IF(P2 =" SUML05",SUML05,   IF(P2 =" SUML06",SUML06,IF(P2 =" SUML07",SUML07,IF(P2 =" SUML08",   SUML08,IF(P2 =" SUML09",SUML09,IF(P2 =" SUML10",SUML10,   IF(P2 =" SUML11",SUML11,IF(P2 =" SUML12",SUML12,IF(P2 =" SUML13",   SUML13,IF(P2 =" NAAL01",NAAL01,IF(P2 =" NAAL02",NAAL02,   IF(P2 =" EMAL01",EMAL01,IF(P2 =" ACTL1",ACTL1,IF(P2 =" ACTL2",ACTL2,   IF(P2 =" OUTL01",OUTL01,IF(P2 =" OUTL02",OUTL02,IF(P2 =" OUTL03",   OUTL03,IF(P2 =" OUTL04",OUTL04,IF(P2 =" OUTL05​​",OUTL05​​,   IF(P2 =" OUTL06",OUTL06,IF(P2 =" OUTL07",OUTL07,IF(P2 =" OUTL08",   OUTL08,IF(P2 =" RELL01",RELL01,IF(P2 =" RELL02",RELL02,   IF(P2 =" SLAL01",SLAL03,""))))))))))))))))))))))))))) )

我尝试手动输入或复制粘贴,但数据验证列表并不允许 请注意,我使用的是Excel 2016 Pro Plus。

1 个答案:

答案 0 :(得分:0)

如果最后IF(P2="SLAL01", SLAL03,不是错误,您可以在数据验证列表公式栏中使用以下公式:

=IF($P$2="SLAL1",SLAL3,INDIRECT($P$2))

见下图,我如何将其写入P4格式:

enter image description here

一旦P2 SLAL01 (名称范围 SLAL03 )选择Cell P4

enter image description here

P2 SUML01 时选择Cell P4(名称范围 SUML01

enter image description here

如果最后一个IF(P2="SLAL01", SLAL03,是一个错字,你的意思是IF(P2="SLAL01", SLAL01,那么公式就更简单了:

 =INDIRECT($P$2)