comprobar numero de cuenta bancaria

26/02/2005 - 21:11 por macadu | Informe spam
Hola amigos. En la columna "C" de una hoja Excel introduzco los 20 dígitos de
cuentas bancarias con las siguientes separaciones mediante guiones, ejemplo:

1234-5678-90-1234567890

como puedo comprobar que los números de cuenta son correctos.

Se ruega respuesta a nivel novato.

Gracias de antemano.

Un saludo.
macadu
 

Leer las respuestas

#1 Fernando Arroyo
26/02/2005 - 23:00 | Informe spam
"macadu" (donotspam)> escribió en el mensaje news:
Hola amigos. En la columna "C" de una hoja Excel introduzco los 20 dígitos de
cuentas bancarias con las siguientes separaciones mediante guiones, ejemplo:

1234-5678-90-1234567890

como puedo comprobar que los números de cuenta son correctos.

Se ruega respuesta a nivel novato.

Gracias de antemano.

Un saludo.
macadu




Lo puedes hacer mediante VBA (la función no está escrita por mí pero ahora mismo no sé de dónde la saqué, así que no puedo atribuírsela a su autor):


Public Function CalcularDC(Banco, Cuenta)
Dim Pesos As Variant, n, S1, S2, R1, R2 As Integer

Pesos = Array(6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
S1 = 0
S2 = 0


For n = 0 To 7
Debug.Print Val(Mid(Banco, 8 - n, 1)) * Pesos(n)
S1 = S1 + Val(Mid(Banco, 8 - n, 1)) * Pesos(n)
Next
For n = 0 To 9
S2 = S2 + Val(Mid(Cuenta, 10 - n, 1)) * Pesos(n)
Next


R1 = 11 - S1 Mod 11
R2 = 11 - S2 Mod 11

R1 = IIf(R1 > 9, 1 - R1 Mod 10, R1)
R2 = IIf(R2 > 9, 1 - R2 Mod 10, R2)

CalcularDC = R1 & R2
End Function



o mediante una "pequeña formulilla" :-))

=SI(11-RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(1:8);1)*(EXTRAE({"0408051009070306"};(FILA(1:8)*2)-1;2)));11)>9;1-(RESIDUO(11-RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(1:8);1)*(EXTRAE({"0408051009070306"};(FILA(1:8)*2)-1;2)));11);10));11-RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(1:8);1)*(EXTRAE({"0408051009070306"};(FILA(1:8)*2)-1;2)));11))&SI(11-RESIDUO(SUMAPRODUCTO(EXTRAE(B1;FILA(1:10);1)*(EXTRAE({"01020408051009070306"};(FILA(1:10)*2)-1;2)));11)>9;1-(RESIDUO(11-RESIDUO(SUMAPRODUCTO(EXTRAE(B1;FILA(1:10);1)*(EXTRAE({"01020408051009070306"};(FILA(1:10)*2)-1;2)));11);10));11-RESIDUO(SUMAPRODUCTO(EXTRAE(B1;FILA(1:10);1)*(EXTRAE({"01020408051009070306"};(FILA(1:10)*2)-1;2)));11))

Para que funcione la fórmula tal como está, es necesario que el código del banco y la sucursal estén (juntos) en la celda A1, y el código de la cuenta en B1, o sea:

A1 B1
012345678 01234567890

Un saludo.


Fernando Arroyo
MS MVP - Excel

Preguntas similares