Eu não conheço uma função verificar CPF válido, então, vou mostrar a forma (Gambiarra kkk) que consegui para validar os CPF.
Como a fórmula é muito grande, vou explicando parte por parte até chegar ao final.
O CPF assim como outros documentos tem números que são conhecidos como DV (Dígitos
Verificadores). Esses números que são verificados, para validar um CPF.
Vamos criar três (03) colunas auxiliares para calcular os DV e validar o CPF:
Agora, vamos iniciar os cálculos hehe
1) Multiplicar os primeiros nove (09) números pela sequência de
10 até 2 e somar os resultados. No exemplo o CPF é: 11122233345
1.1) Vamos traduzir isso para o LibreOffice calc :D
1.2) temos que extrair o primeiro número do CPF da célula, então, vamos utilizar
a função "MEIO":
=MEIO(A3;1;1)
1.3) Vamos multiplicar esse resultado por 10
=MEIO(A3;1;1)*10
1.4) Vamos repetir esse processo com os outros nove (09) primeiros números do
CPF. Lembrando, que temos que colocar cada um dentro de parênteses;
=(MEIO(A3;1;1)*10)+(MEIO(A3;2;1)*9)+(MEIO(A3;3;1)*8)+(MEIO(A3;4;1)*7)+
(MEIO(A3;5;1)*6)+(MEIO(A3;6;1)*5)+(MEIO(A3;7;1)*4)+(MEIO(A3;8;1)*3)+
(MEIO(A3;9;1)*2)
2) Agora temos que pegar o resultado e dividir por onze (11), porém, não vamos
pegar o resultado e sim o resto (módulo) da divisão.
90%11 = 2
2.1) Fazendo isso no LibreOffice Calc, fica da seguinte forma:
=MOD((MEIO(A3;1;1)*10)+(MEIO(A3;2;1)*9)+(MEIO(A3;3;1)*8)+(MEIO(A3;4;1)*7)+
(MEIO(A3;5;1)*6)+(MEIO(A3;6;1)*5)+(MEIO(A3;7;1)*4)+(MEIO(A3;8;1)*3)+
(MEIO(A3;9;1)*2);11)
3) Em nosso exemplo resto da divisão foi igual a dois (02), então, vamos subtrair
esse resultado de onze (11):
11-2 = 9
3.1) Vamos passar isso para o LibreOffice Calc:
=11-MOD((MEIO(A3;1;1)*10)+(MEIO(A3;2;1)*9)+(MEIO(A3;3;1)*8)+(MEIO(A3;4;1)*7)+
(MEIO(A3;5;1)*6)+(MEIO(A3;6;1)*5)+(MEIO(A3;7;1)*4)+(MEIO(A3;8;1)*3)+
(MEIO(A3;9;1)*2);11)
Essa função tem que ser passada para a coluna "PDV". Pois, essa coluna que vai
ficar o nosso primeiro dígito verificador (DV)
[LINHA]
Vamos calcular o segundo dígito verificador (DV). Será o mesmo processo, porém,
agora vamos incluir o décimo número, que é o primeiro dígito verificador (DV).
Começando a multiplicação por 11 até 2 e somando o resultado
4) Vamos passar esse calculo para o LibreOffice Calc, utilizando a função
MEIO e colocando cada grupo dentro de parênteses:
=(MEIO(A3;1;1)*11)+(MEIO(A3;2;1)*10)+(MEIO(A3;3;1)*9)+(MEIO(A3;4;1)*8)+
(MEIO(A3;5;1)*7)+(MEIO(A3;6;1)*6)+(MEIO(A3;7;1)*5)+(MEIO(A3;8;1)*4)+
(MEIO(A3;9;1)*3)+(MEIO(A3;10;1)*2)
5) Vamos pegar o resultado, que nosso exemplo foi 126 e dividir por 11, porém,
será utilizado o resto (módulo) da divisão:
126%11 = 5
5.1) Agora iremos fazer esse cálculo no LibreOffice Calc, utilizando a função
MOD para obter o resto (módulo) da divisão:
=MOD((MEIO(A3;1;1)*11)+(MEIO(A3;2;1)*10)+(MEIO(A3;3;1)*9)+(MEIO(A3;4;1)*8)+
(MEIO(A3;5;1)*7)+(MEIO(A3;6;1)*6)+(MEIO(A3;7;1)*5)+(MEIO(A3;8;1)*4)+
(MEIO(A3;9;1)*3)+(MEIO(A3;10;1)*2);11)
6) Vamos subtrair o resultado por onze (11):
11-5 = 6
6.1) Então, passaremos essa cálculo para o LibreOffice Calc:
=11-MOD((MEIO(A3;1;1)*11)+(MEIO(A3;2;1)*10)+(MEIO(A3;3;1)*9)+(MEIO(A3;4;1)*8)+
(MEIO(A3;5;1)*7)+(MEIO(A3;6;1)*6)+(MEIO(A3;7;1)*5)+(MEIO(A3;8;1)*4)+
(MEIO(A3;9;1)*3)+(MEIO(A3;10;1)*2);11)
6.2) Então, adicione toda essa fórmula na coluna SDV:
7) Agora temos que fazer a validação do CPF pelos digitos verificadores.
A condição é bem simples, o primeiro digito verificador (PDV) é o décimo número
do CPF e o segundo digito verificador (SDV) é igual ao décimo primeiro número
do CPF. Lembrando, que temos que validar, que caso o o resultado do dígito
verificador (DV) seja maior do que 10, então, ele será 0.
7.1) Vamos utilizar a função "SE" para validar se o primeiro dígito verificador
(PDV) é maior do que dez (10) ou se é igual ao décimo número do CPF:
=SE(B3>10;0=MEIO(A3;10;1);B3=MEIO(A3;10;1))
7.1.1) Porém, temos um pequeno problema nessa fórmula acima. A função "MEIO"
retorno texto, então, não vai conseguir fazer a comparação. Então, temos que
converter o zero (00) e o PDV (primeiro dígito verificador) para texto:
=SE(B3>10;0=MEIO(A3;10;1);TEXTO(B3;0)=MEIO(A3;10;1
))
8) Agora vamos temos que fazer a mesma verificação (Ao mesmo tempo) do segundo
dígito verificador (SDV), para isso vamos alinhar o segundo "SE" dentro da
função "AND":
=E(SE(B3>10;"0"=MEIO(A3;10;1);TEXTO(B3;0)=MEIO(A3;10;1));
SE(C3>10;"0"=MEIO(A3;11;1);TEXTO(C3;0)=MEIO(A3;11;1)))
9) Para dar um toque final em nossa fórmula podemos fazer uma última verificação,
se foi digitado onze (11) dígitos na célula. Vamos utilizar a função "LEN" para
tal:
=IF(LEN(A3)<>11;"FALSO";AND(IF(B3>10;"0"=MID(A3;10;1);
TEXT(B3;0)=MID(A3;10;1));IF(C3>10;"0"=MID(A3;11;1);
TEXT(C3;0)=MID(A3;11;1))))
Agora, oculte as colunas "PDV" e "SDV" ou somente coloque a largura em zero.
Assim, você terá apenas a coluna "Verificador"
Segue as referências abaixo:
https://help.libreoffice.org/3.5/Basic/Mid_Function,_Mid_Statement_Runtime/pt-BR
https://help.libreoffice.org/3.4/Calc/Mathematical_Functions/pt-BR#MOD
https://help.libreoffice.org/4.4/Calc/Text_Functions/pt