Eu procurei por um jeito de validar o CPF e CNPJ no Excel sem utilizar Macros e VBA.
Então encontrei dois tópicos antigos aqui no fórum sobre o assunto:
https://www.hardware.com.br/comunidade/validar-cpf/331993/
https://www.hardware.com.br/comunidade/validar-cpf/280465/
Peguei a formula de verificação do CPF apresentada neste tópicos e adaptei para a verificação do CNPJ.
A informação do Sr.Reinal Coral no endereço abaixo me ajudou muito neste trabalho.
http://www.exceldoseujeito.com.br/2008/12/18/validar-cpf-cnpj-e-titulo-de-eleitor-parte-i/
"Formula para verificação do CPF"
=SE(P22="";"";SE(SE(MOD((EXT.TEXTO(P22;1;1)*1)+(EXT.TEXTO(P22;2;1)*2)+(EXT.TEXTO(P22;3;1)*3)+(EXT.TEXTO(P22;4;1)*4)+(EXT.TEXTO(P22;5;1)*5)+(EXT.TEXTO(P22;6;1)*6)+(EXT.TEXTO(P22;7;1)*7)+(EXT.TEXTO(P22;8;1)*8)+(EXT.TEXTO(P22;9;1)*9);11)=10;0;MOD((EXT.TEXTO(P22;1;1)*1)+(EXT.TEXTO(P22;2;1)*2)+(EXT.TEXTO(P22;3;1)*3)+(EXT.TEXTO(P22;4;1)*4)+(EXT.TEXTO(P22;5;1)*5)+(EXT.TEXTO(P22;6;1)*6)+(EXT.TEXTO(P22;7;1)*7)+(EXT.TEXTO(P22;8;1)*8)+(EXT.TEXTO(P22;9;1)*9);11))&SE(MOD((EXT.TEXTO(P22;2;1)*1)+(EXT.TEXTO(P22;3;1)*2)+(EXT.TEXTO(P22;4;1)*3)+(EXT.TEXTO(P22;5;1)*4)+(EXT.TEXTO(P22;6;1)*5)+(EXT.TEXTO(P22;7;1)*6)+(EXT.TEXTO(P22;8;1)*7)+(EXT.TEXTO(P22;9;1)*8)+(EXT.TEXTO(P22;10;1)*9);11)=10;0;MOD((EXT.TEXTO(P22;2;1)*1)+(EXT.TEXTO(P22;3;1)*2)+(EXT.TEXTO(P22;4;1)*3)+(EXT.TEXTO(P22;5;1)*4)+(EXT.TEXTO(P22;6;1)*5)+(EXT.TEXTO(P22;7;1)*6)+(EXT.TEXTO(P22;8;1)*7)+(EXT.TEXTO(P22;9;1)*8)+(EXT.TEXTO(P22;10;1)*9);11))=(EXT.TEXTO(P22;10;1)&EXT.TEXTO(P22;11;1));"CPF VÁLIDO";"CPF INVALIDO"))
"Formula para verificação do CNPJ"
=SE(P6="";"";SE(SE(MOD((EXT.TEXTO(P6;1;1)*6)+(EXT.TEXTO(P6;2;1)*7)+(EXT.TEXTO(P6;3;1)*8)+(EXT.TEXTO(P6;4;1)*9)+(EXT.TEXTO(P6;5;1)*2)+(EXT.TEXTO(P6;6;1)*3)+(EXT.TEXTO(P6;7;1)*4)+(EXT.TEXTO(P6;8;1)*5)+(EXT.TEXTO(P6;9;1)*6)+(EXT.TEXTO(P6;10;1)*7)+(EXT.TEXTO(P6;11;1)*8)+(EXT.TEXTO(P6;12;1)*9);11)=10;0;MOD((EXT.TEXTO(P6;1;1)*6)+(EXT.TEXTO(P6;2;1)*7)+(EXT.TEXTO(P6;3;1)*8)+(EXT.TEXTO(P6;4;1)*9)+(EXT.TEXTO(P6;5;1)*2)+(EXT.TEXTO(P6;6;1)*3)+(EXT.TEXTO(P6;7;1)*4)+(EXT.TEXTO(P6;8;1)*5)+(EXT.TEXTO(P6;9;1)*6)+(EXT.TEXTO(P6;10;1)*7)+(EXT.TEXTO(P6;11;1)*8)+(EXT.TEXTO(P6;12;1)*9);11))&SE(MOD((EXT.TEXTO(P6;1;1)*5)+(EXT.TEXTO(P6;2;1)*6)+(EXT.TEXTO(P6;3;1)*7)+(EXT.TEXTO(P6;4;1)*8)+(EXT.TEXTO(P6;5;1)*9)+(EXT.TEXTO(P6;6;1)*2)+(EXT.TEXTO(P6;7;1)*3)+(EXT.TEXTO(P6;8;1)*4)+(EXT.TEXTO(P6;9;1)*5)+(EXT.TEXTO(P6;10;1)*6)+(EXT.TEXTO(P6;11;1)*7)+(EXT.TEXTO(P6;12;1)*8)+(EXT.TEXTO(P6;13;1)*9);11)=10;0;MOD((EXT.TEXTO(P6;1;1)*5)+(EXT.TEXTO(P6;2;1)*6)+(EXT.TEXTO(P6;3;1)*7)+(EXT.TEXTO(P6;4;1)*8)+(EXT.TEXTO(P6;5;1)*9)+(EXT.TEXTO(P6;6;1)*2)+(EXT.TEXTO(P6;7;1)*3)+(EXT.TEXTO(P6;8;1)*4)+(EXT.TEXTO(P6;9;1)*5)+(EXT.TEXTO(P6;10;1)*6)+(EXT.TEXTO(P6;11;1)*7)+(EXT.TEXTO(P6;12;1)*8)+(EXT.TEXTO(P6;13;1)*9);11))=(EXT.TEXTO(P6;13;1)&EXT.TEXTO(P6;14;1));"CNPJ VÁLIDO";"CNPJ INVALIDO"))
Mas tenham cuidado com CPF e CNPJ que iniciam com "zero".
Como eu utilizei estas formulas em uma planilha que será preenchida por outras pessoas.
Utilizei a formatação texto na células onde serão inseridos os dados e obriguei a preenche-la com comprimento de 14 (CPF) e 18 (CNPJ) para que insiram no formato que estamos acostumados.
Depois disto eu coloquei uma fórmula para retirar "." , "/" e "-" e uso as formula de validação nestas célular
CPF
[célula P22]=SUBSTITUIR(SUBSTITUIR(A22;".";"");"-";"")
CNPJ
[célula P6]=SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(L6;".";"");"/";"");"-";"")
Como eu tive que gastar algum tempo para montar a fórmula do CNPJ espero que este tópico possa encurtar o caminho e tempo gasto por outras pessoas.
A versão utilizado foi Excel 2007.
Se tiverem um jeito mais fácil utilizando apenas as formulas nativas do Excel por favor avisem.
Sds
Tony