Evitar la introducción de valores duplicados en Excel

Muchas veces cuando estamos ingresando datos en una planilla en Excel, nos encontramos con que por error introducimos valores que ya se encuentran en la planilla, situación que debemos evitar en ciertos casos.

Excel nos ofrece la posibilidad de evitar la introducción de valores o datos duplicados, repetidos.

Podemos hacer que de forma automática, Excel revise los datos ya existentes en la planilla y nos avise cuando se intenta introducir un dato o valor ya existente, lo cual nos garantiza que no cometeremos ningún error.

Para ello recurriremos a la validación de datos.

Vamos a suponer que tenemos un listado de trabajadores en la columna A, que inicia en la fila 5.

Seleccionamos la Columna A, vamos a la barra de herramienta “Datos” y elegimos “Validación de datos”.

En configuración elegimos “Personalizada” y en el campo “Fórmula”, escribimos la siguiente fórmula:

=CONTAR.SI($A5:$A$5;A5)<2

En la pestaña “Mensaje de error” de la misma ventana de validación de datos, escribimos el mensaje que Excel debe mostrar cuando se  intente ingresar un valor duplicado; de esta forma se informará a la persona que está ingresando datos, que ha intentado introducir un dato o valor ya existente.

Con esta fórmula tan sencilla evitaremos  introducir datos repetidos, algo muy importante cuando se están ingresando nombres de personas, números de facturas, números de cédula, Nit, etc.

Descargar ejemplo

Contenido relacionado:
Compartirlo
Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.


Déjenos su opinión

2 Opiniones
  1. Alberto Pereda dice:

    Buenas tardes, tengo una macro para ingresar datos mediante un formulario pero quiero evitar el ingreso de datos duplicados, agradecería si alguien puede ayudarme con esto.
    El código es el siguiente:

    Private Sub CommandButton1_Click()
    Sheets(“2016”).Activate
    If TextBox1 = “” Or TextBox2 = “” Or ComboBox1 = “” _
    Or TextBox19 = “” Then
    MsgBox “Está dejando campos requeridos vacios por favor completelos”, vbExclamation, “Registro”
    TextBox1.SetFocus
    Else
    Range(“A” & Cells.Rows.Count).End(xlUp).Offset(1).Select

    ActiveCell.Offset(0, 0) = TextBox1.Value
    ActiveCell.Offset(0, 1) = TextBox2.Value
    ActiveCell.Offset(0, 2) = ComboBox1.Value
    ActiveCell.Offset(0, 3) = TextBox4.Value
    ActiveCell.Offset(0, 4) = ComboBox2.Value
    ActiveCell.Offset(0, 5) = ComboBox3.Value
    ActiveCell.Offset(0, 6) = TextBox7.Value
    ActiveCell.Offset(0, 7) = TextBox8.Value
    ActiveCell.Offset(0, 8) = TextBox9.Value
    ActiveCell.Offset(0, 9) = TextBox10.Value
    ActiveCell.Offset(0, 10) = TextBox11.Value
    ActiveCell.Offset(0, 11) = TextBox12.Value
    ActiveCell.Offset(0, 12) = TextBox13.Value
    ActiveCell.Offset(0, 13) = TextBox14.Value
    ActiveCell.Offset(0, 14) = TextBox15.Value
    ActiveCell.Offset(0, 15) = TextBox16.Value
    ActiveCell.Offset(0, 16) = TextBox17.Value
    ActiveCell.Offset(0, 17) = TextBox18.Value
    ActiveCell.Offset(0, 18) = TextBox19.Value
    ActiveCell.Offset(0, 19) = TextBox20.Value
    MsgBox “Registro ingresado exitosamente”, vbInformation, “Registro”
    TextBox1 = “”
    TextBox2 = “”
    ComboBox1 = “”
    TextBox4 = “”
    ComboBox2 = “”
    ComboBox3 = “”
    TextBox7 = “”
    TextBox8 = “”
    TextBox9 = “”
    TextBox10 = “”
    TextBox11 = “”
    TextBox12 = “”
    TextBox13 = “”
    TextBox14 = “”
    TextBox15 = “”
    TextBox16 = “”
    TextBox17 = “”
    TextBox18 = “”
    TextBox19 = “”
    TextBox20 = “”
    TextBox4.SetFocus
    End If

    Range(“BA” & Cells.Rows.Count).End(xlUp).Offset(1).Select
    ActiveCell.Offset(0, 0) = TextBox21.Value
    TextBox21 = “”

    End Sub
    Private Sub CommandButton4_Click()
    Unload Me
    End Sub
    Private Sub CommandButton5_Click()
    Unload Me
    Buscaproveedores1.Show
    End Sub

    Private Sub CommandButton6_Click()
    Unload Me
    eliminaproveedores.Show
    End Sub

    Private Sub Label22_Click()

    End Sub

    Private Sub UserForm_Click()

    End Sub
    Private Sub UserForm_Initialize()

    Dim rango, celda As Range
    Dim rango1, celda1 As Range
    Dim rango2, celda2 As Range

    Set rango = Range(“BA3:BA100”)
    Set rango1 = Range(“BC3:BC5”)
    Set rango2 = Range(“BE3:BE9”)

    For Each celda In rango
    ComboBox1.AddItem celda.Value
    Next celda

    For Each celda1 In rango1
    ComboBox2.AddItem celda1.Value
    Next celda1

    For Each celda2 In rango2
    ComboBox3.AddItem celda2.Value
    Next celda2

    End Sub

  2. Gonzalo Manrique dice:

    Hola,
    tengo una situación similar a la del ejemplo excepto que quiero que me el excel me avise cuando se entra un dato duplicado pero que no está en la misma columna. Por ej: quiero saber cuando un número de documento que estoy ingresando en la columna A ya fue ingresado en la columna E.
    Muchas gracias

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo con respeto, sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.