Bei Werten in Spalte A in B1 Folgendes eingeben:
=A1
und in B2 eingeben:
=A2 & IF(COUNTIF($A$1:A1,A2)=0,"","." & COUNTIF($A$1:A1,A2))
und abschreiben:
Hinweis : Die Werte in Spalte A müssen nicht sortiert werden.
Ich benötige eine Formel oder ein Makro für Excel, um die nächsten Operationen
auszuführen : Identifizieren Sie die Duplikate und lassen Sie den ersten Wert so, wie er zum Beispiel ist
2 2 2 2 2 2
Soll werden
2 2.1 2.2 2.3 2.4 2.5
Dies sollte für alle Duplikate in einer bestimmten Spalte erfolgen, in diesem Fall die Spalte B.
Was ich bisher ausprobiert habe, war die Verwendung einer Formel
=IF(COUNTIF($B$1:$B$5000,B1)>1,B1& " (" & COUNTIF(B$1:B1,B1) & ")",B1)
Was nicht funktioniert hat und im Falle der Programmierung eines Makros in VB ist nicht wirklich meine starke Suite. Das von mir getestete Makro funktioniert auch nicht:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim dataRng As Range Dim dataArr() As Variant, output() As String Dim y As Long, i As Long, j As Long, tmpcount As Long Set dataRng = Range("B1").Resize(Me.UsedRange.Rows.Count, 1) If Not Intersect(Target, dataRng) Is Nothing Then dataArr = dataRng.Value ReDim output(1 To UBound(dataArr, 1), 1 To 1) For y = 1 To UBound(dataArr, 1) If Right(dataArr(y, 1), 1) = ")" Then dataArr(y, 1) = Left(dataArr(y, 1), InStr(dataArr(y, 1), " (") - 1) End If Next y For i = 1 To UBound(dataArr, 1) tmpcount = 0 output(i, 1) = dataArr(i, 1) For j = 1 To UBound(dataArr, 1) If dataArr(i, 1) = dataArr(j, 1) Then tmpcount = tmpcount + 1 If j = i And tmpcount > 1 Then output(i, 1) = dataArr(i, 1) & " (" & tmpcount & ")" Exit For End If If j > i And tmpcount > 1 Then output(i, 1) = dataArr(i, 1) & " (" & tmpcount - 1 & ")" Exit For End If End If Next j Next i Call printoutput(output, dataRng) End If End Sub Private Sub printoutput(what As Variant, where As Range) Application.EnableEvents = False where.Value = what Application.EnableEvents = True End Sub
Hat jemand eine Vorstellung davon, was hier zu tun ist? Vielen Dank im Voraus für Ihre Antworten.
Bei Werten in Spalte A in B1 Folgendes eingeben:
=A1
und in B2 eingeben:
=A2 & IF(COUNTIF($A$1:A1,A2)=0,"","." & COUNTIF($A$1:A1,A2))
und abschreiben:
Hinweis : Die Werte in Spalte A müssen nicht sortiert werden.
Versuchen Sie, die Antwort aufzuteilen, um die Ursache des Fehlers zu sehen (Ich konnte Ihren Link de.tinypic.com/r/mja83/9 nicht öffnen, um zu sehen, was passiert). Zum Beispiel write = countif ($ A $ 1: A1, A2) in C2 versuchen Sie es mit fx oder fügen Sie die Formel ein, um die entsprechende in Ihrer Sprache zu verwenden, und vielleicht ist das Listentrennzeichen; nicht in den Computereinstellungen. Auch für = If (C2 = 0, "", ",") in D2 Dann in B2 = A2 & D2 & C2 Wenn alles stimmt, kombinieren Sie die Formeln erneut. Garys Formel hat recht und funktioniert