Excel嵌套if子句来查找名称并分配一个值

要窝还是不窝?

我有一个Emp的名单。 ID和名称在两列

EMP。 ID名称

DOEJ Doe,John

根据名字,我想给另一列的员工分配一个class次号码。 下面是我设置的if语句,用于search名称并分配一个class次。 但是我认为必须有一个更高效的方式。

=IF(Table4[@Name]="B,Cis",1, IF(Table4[@Name]="Petty, Richard",1, IF(Table4[@Name]="Trump, Donald",1, IF(Table4[@Name]="Johnny, John",1, IF(Table4[@Name]="Carlos, Mencina",1, IF(Table4[@Name]="Smith, Smith",1, IF(Table4[@Name]="Day, Conner",2, IF(Table4[@Name]="Macho, Man",2, IF(Table4[@Name]="Doe, John",2, IF(Table4[@Name]="Sandy, Johnron",2, IF(Table4[@Name]="Conner, Donaldson",2, IF(Table4[@Name]="Randy, Jones",2, IF(Table4[@Name]="Cook, Joseph",3, IF(Table4[@Name]="Cooper, Johnny",3, IF(Table4[@Name]="Rodrigo, Cooker",3, IF(Table4[@Name]="Potter, Copper",3, IF(Table4[@Name]="Rodrigo, Gonzolez","A", IF(Table4[@Name]="Ronny, Ponny","A", IF(Table4[@Name]="Rodrigo, Coolio","A", IF(Table4[@Name]="Roma, Coma","B", IF(Table4[@Name]="Star, Como","B","N/A"))))))))))))))))))))) 

只需在另一张表格中创build一个表格,并通过员工/class次映射进行更新。 然后使用vlookup公式从员工姓名转换。

假设你打电话给另一张表“换class”,员工姓名在A列,class次代码在B列。

 =VLOOKUP(Table4[@Name],Shifts!$A:$B,2,FALSE) 

你可以使用and(...)

 =if(and(...stuff that would produce 1...),1, if(and(...stuff that would produce 2...), 2, ... 

就个人而言,我会用vba来做这样的事情。 我不认为你会这样做。