Hola Susana.
¿No puedes usar una Macro?
No te preocupes, prueba con esta formula, suponiendo que el IBAN de la cuenta está en A2:
=SI(EXTRAE(A2;13;2)=SI(11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)*3&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)=10;1;SI(11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)=11;0;11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)))&SI(11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)=10;1;SI(11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)=11;0;11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)));"Valido";"Erroneo")
¿Demasiado largo?
Bueno, para los que no apreciáis la belleza de la jungla, puedes usar esta otra:
=SI(EXTRAE(A2;13;2)=EXTRAE(12345678910;11-RESIDUO(SUMA(EXTRAE(A2;FILA(INDIRECTO("5:12"));1)*(EXTRAE(37498625;FILA(INDIRECTO("1:8"));1)+1));11);1)&EXTRAE(12345678910;11-RESIDUO(SUMA(EXTRAE(DERECHA(A2;10);FILA(INDIRECTO("1:10"));1)*(EXTRAE(0&137498625;FILA(INDIRECTO("1:10"));1)+1));11);1);"Valido";"No Valido")
Esta última depende de la versión de tu excel deberás usar Control+Mayusculas+Intro.
Saludos.
Por
torquemada, · publicado
Buenos días
Tengo el siguiente código pero las condiciones en lo marcado en azul son más de 100 por lo que la línea
se me hará infinita. Hay alguna otra forma de poner las condiciones usando más líneas ( no solo una )
o bien que vaya a buscar a un rango determinado donde estén todas las condiciones a buscar
Paso fichero donde el rango a buscar sería de la pestaña CLIENTES. el rango D4:D25.
Sub DESPRECIAR()
Dim I, J As Integer
J = 8 'DONDE EMPIEZA A ESCRIBIR
For I = 4 To 4000 ' DONDE EMPIEZA A BUSCAR
If Range("EXPORTACION!N" & I) = "CLIENTE 1" Or Range("EXPORTACION!N" & I) = "CLIENTE 3" Then
Range("FILTRO!b" & J) = Range("EXPORTACION!B" & I)
Range("FILTRO!c" & J) = Range("EXPORTACION!C" & I)
Range("FILTRO!d" & J) = Range("EXPORTACION!F" & I)
Range("FILTRO!e" & J) = Range("EXPORTACION!G" & I)
Range("FILTRO!f" & J) = Range("EXPORTACION!H" & I)
Range("FILTRO!g" & J) = Range("EXPORTACION!I" & I)
Range("FILTRO!h" & J) = Range("EXPORTACION!J" & I)
Range("FILTRO!i" & J) = Range("EXPORTACION!K" & I)
Range("FILTRO!j" & J) = Range("EXPORTACION!N" & I)
Range("FILTRO!k" & J) = Range("EXPORTACION!O" & I)
Range("FILTRO!l" & J) = Range("EXPORTACION!P" & I)
J = J + 1
End If
Next
While Range("FILTRO!b" & J) <> ""
Range("FILTRO!b" & J) = ""
Range("FILTRO!c" & J) = ""
Range("FILTRO!d" & J) = ""
Range("FILTRO!e" & J) = ""
Range("FILTRO!f" & J) = ""
Range("FILTRO!g" & J) = ""
Range("FILTRO!h" & J) = ""
Range("FILTRO!i" & J) = ""
Range("FILTRO!j" & J) = ""
Range("FILTRO!k" & J) = ""
Range("FILTRO!l" & J) = ""
J = J + 1
Wend
End Sub
PLANTILLA CONTROL CMRS.rar