如果在excel-vba中,有什么方法可以代替嵌套的?

时间:2019-08-29 01:23:03

标签: excel vba loops

对,我是excel vba的新手,所以不怎么有效地使用它,我得到了将近50,000行的TestID数据。我想做一些动态循环以确定TestType。假设如果TestID为001至100,则TestType为TEST A;如果TestID为101至220,则TestType为TEST B;如果TestID为221至260,则TestType为TESTC。

如果使用excel vba,有没有不使用嵌套的方法吗?

我使用嵌套的if来执行此操作,但是数据太多

enter image description here

HttpContent

如果TestID为001至100,则TestType为TEST A;如果TestID为101至220,则TestType为TEST B;如果TestID为221至260,则TestType为TEST C。

1 个答案:

答案 0 :(得分:2)

处理该问题的常见非VBA方法是使用查找表。

这假设您的TestID值是数字而不是文本字符串。

根据您的情况,公式可能是:

=VLOOKUP(A2,{1,"TEST A";101,"TEST B";221,"TEST C";261,"Unspecified"},2)

enter image description here

@chrisneilson指出,如果要为值<1或> = 261返回空白,则可以修改公式:

=VLOOKUP(A2,{0,"";1,"TEST A";101,"TEST B";221,"TEST C";261,""},2)