这是我面临的一个问题。
表1包含个人信息约300行数据,个人姓名在A栏,其资格如“学士学位”或“硕士学位”在B栏,毕业日期在C栏。
这些个人最多可以有4种不同类型的资格,例如。B栏学士学位1,C栏毕业日期2,D栏硕士学位2,E栏毕业日期2,依此类推。
表2包含名为“学士学位1”、“学士学位2”、“硕士学位1”和“硕士学位2”的列,以及它们各自的毕业日期。
我的问题是,如何编写一个VBA脚本,将工作表1中的数据自动排序到工作表2的右列中,以及它们各自的毕业日期?


发布于 2021-01-05 12:04:42
我认为最好的解决方法是使用if语句。
B =IF(ISNUMBER(SEARCH("Bachelor",Sheet1!B2)),Sheet1!B2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!D2)),Sheet1!D2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!F2)),Sheet1!F2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!H2)),Sheet1!H2,""))))
C =IF(ISNUMBER(SEARCH("Bachelor",Sheet1!B2)),Sheet1!C2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!D2)),Sheet1!E2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!F2)),Sheet1!G2,IF(ISNUMBER(SEARCH("Bachelor",Sheet1!H2)),Sheet1!I2,""))))
D =IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!B2)),Sheet1!B2<>B2),Sheet1!B2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!D2)),Sheet1!D2<>B2),Sheet1!D2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!F2)),Sheet1!F2<>B2),Sheet1!F2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!H2)),Sheet1!H2<>B2),Sheet1!H2,""))))
E =IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!B2)),Sheet1!B2<>B2),Sheet1!C2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!D2)),Sheet1!D2<>B2),Sheet1!E2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!F2)),Sheet1!F2<>B2),Sheet1!G2,IF(AND(ISNUMBER(SEARCH("Bachelor",Sheet1!H2)),Sheet1!H2<>B2),Sheet1!I2,""))))
然后,您的下一个专栏将是相同的,只是使用单词硕士而不是单身汉。

https://stackoverflow.com/questions/65572237
复制相似问题