¿Detectar y eliminar dato repetido en celdas?

Como puedo eliminar duplicidad del valor de una celda ejemplo

En la celda A1 tengo Cobro de Gasolina contenido min.87 Octanos * Gasolina Contenido min.87 octanos *, IFD930630HL2, IVA 538.42

Y necesito que quede así

Cobro de Gasolina contenido min.87 octanos, IFD930630HL2, IVA 538.42

Respuesta
1

Jesús te bendiga.

Te propongo esto,

En la celda B1 escribe la siguientes fórmula:
=SI(A1=0;"";ENCONTRAR("*";A1))

En la celda C1 escribe la siguiente fórmula:
=SI(A1=0;"";ENCONTRAR("*";A1;B1+1))

En la celda D1 escribe la siguiente fórmula:
=SI(A1>0;EXTRAE(A1;1;ENCONTRAR("*";A1)-2))&""&SI(A1>0;EXTRAE(A1;C1+1;ENCONTRAR("*";A1;C1-1)))

Nota: Por si acaso solo quieres el contenido dentro de los asteriscos escribe la siguiente fórmula:
=SI(A1>0;EXTRAE(A1;B1+1;C1-B1-1))

 Gracias Jair pero necesito una macro ,debido a que mi archivo ya está repleto de fórmulas condicionales y ya no lo quiero hacer más pesado mi base de datos consta de aprox 12000 filas

1 respuesta más de otro experto

Respuesta
1

¿En la celda tienes el texto duplicado con asteriscos * o simplemente pusiste los asteriscos para ejemplificar cuál texto está duplicado?

Si no tiene asteriscos, entonces habría que revisar palabra por palabra y eliminar todas las que estén duplicadas.

¿Aplica solamente para una celda o es un rango de celdas?

Ayudaría más una imagen con tu ejemplo

En la celda tengo texto repetido/duplicado  con asteriscos *, no tengo forma de enviarte imagen porque no tengo camara/celular para sacar la foto, te puedo adjuntar un mini archivo?

te puedo enviar miniarchivo de excel?

Envíame tu archivo con varios ejemplos reales en otra columna me explicas el resultado esperado. Pon tu nombre de usuario en el asunto

Te anexo la macro

Sub Eliminacion()
'Por.Dante Amor
    Dim col As New Collection
    On Error Resume Next
    Set col = Nothing
    Set rango = Range("AO2:AO" & Range("AO" & Rows.Count).End(xlUp).Row)
    For Each celda In rango
        datos = Split(celda.Value, "*")
        For j = LBound(datos) To UBound(datos)
            eldato = WorksheetFunction.Trim(datos(j))
            If eldato <> "" Then col.Add Item:=eldato, Key:=CStr(eldato)
        Next
        cad = ""
        For k = 1 To col.Count
            cad = cad & " " & col(k)
        Next
        cad = Mid(cad, 2)
        celda.Value = cad
        Set col = Nothing
    Next
    MsgBox "Fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas