Fórmula de Excel para duplicados

Fórmula de Excel para duplicados

¿Podría alguien mostrarme la fórmula que necesito para crear los datos exactos que tengo en la columna C?

ingrese la descripción de la imagen aquí

Cualquier celda duplicada en la columna B copiará el SKU de la columna A a la columna C.

Espero haberlo explicado bien!!

Respuesta1

Si no tienes Office 365 Excel necesitarás una UDF. Coloque este código en un módulo adjunto al libro de trabajo:

Function TEXTJOIN(delim As String, skipblank As Boolean, arr)
    Dim d As Long
    Dim c As Long
    Dim arr2()
    Dim t As Long, y As Long
    t = -1
    y = -1
    If TypeName(arr) = "Range" Then
        arr2 = arr.Value
    Else
        arr2 = arr
    End If
    On Error Resume Next
    t = UBound(arr2, 2)
    y = UBound(arr2, 1)
    On Error GoTo 0

    If t >= 0 And y >= 0 Then
        For c = LBound(arr2, 1) To UBound(arr2, 1)
            For d = LBound(arr2, 1) To UBound(arr2, 2)
                If arr2(c, d) <> "" Or Not skipblank Then
                    TEXTJOIN = TEXTJOIN & arr2(c, d) & delim
                End If
            Next d
        Next c
    Else
        For c = LBound(arr2) To UBound(arr2)
            If arr2(c) <> "" Or Not skipblank Then
                TEXTJOIN = TEXTJOIN & arr2(c) & delim
            End If
        Next c
    End If
    If TEXTJOIN <> "" Then 
        TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim)) 
    Else
        TEXTJOIN = ""
    End IF
End Function

Entonces la siguiente fórmula matricial hará lo que quieras:

=TEXTJOIN(" | ",TRUE,IF($A$2:$A$11<>A2,IF($B$2:$B$11=B2,$A$2:$A$11,""),""))

al ser una fórmula matricial, deberá confirmarse con Ctrl-Shift-Enter en lugar de Enter al salir del modo de edición. Si se hace correctamente, Excel implementará {}la fórmula.


Si tiene Office 365 Excel, simplemente use la fórmula anterior como fórmula matricial, no necesita la UDF.

La UDF imita la funcionalidad de TEXTJOIN.

ingrese la descripción de la imagen aquí

información relacionada