Formel til at tilføje værdi men overskrive hvis værdien allerede er i cellen
Hej experter og kloge hoveder
Jeg har en masse data, hvor jeg skal have tilføjet nye værdier i cellerne. Men hvis den værdi, jeg tilføjer, allerede er i cellen, skal værdien ikke tilføjes igen.
Eksisterende værdi Værdier der skal tilføjes Ønsket resultat A B C 1 #11#134 #28#199 #11#134#28#199 2 #55#134#28 #28#199 #55#134#28#199
Hvis der allerede står #28 i celle A2 og bliver tilføjet "igen" i B2 skal værdien #28 ikke fremgå 2 gange i C2 (#55#134#28#28#199)
Hvordan laver jeg en formel hvor jeg samler værdier fra A og B i kolonne C, men overskriver en værdi hvis den optræder to gange?
Nu ved jeg ikke hvor mange Hashtags med numre du kan have i de enkelte celler, men jeg har lavet en makro, der kan klare op til 100 - det kan let rettes, hvis tallet er større. Hvis der ikke er behov for at sætte tallene i rækkefølge kan sorteringsdelen udelades.
Sub String_To_Array1() Dim LastRow, x, y As Long Dim StringValue, SingleValue() As String LastRow = Cells(65356, 1).End(xlUp).Row For y = 2 To LastRow StringValue = Cells(y, 1) Range("A1040000:a1040100").ClearContents On Error Resume Next SingleValue = Split(StringValue, "#") Dim k As Long For k = 1040000 To 1040100 Cells(k, 1).Value = SingleValue(k - 1040000) Next k x = WorksheetFunction.Count(Range("A1040000:a1040100")) k = 40 + x StringValue = Cells(y, 2) SingleValue = Split(StringValue, "#") For k = 1040000 + x To 1041000 + x Cells(k + 1, 1).Value = SingleValue(k - 1040000 - x) Next k Range("A1040000:a1040100").Select Application.CutCopyMode = False ActiveSheet.Range("$A$1040000:$A$1040100").RemoveDuplicates Columns:=1, Header:=xlNo 'Sortering Range("A1040000:a1040100").Select ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("A1040000:a1040100" _ ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1040000:a1040100") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 'Sortering slut Cells(y, 3) = "#" & WorksheetFunction.TextJoin("#", True, Range("A1040000:a1040100")) Cells(1, 1).Select Next y End Sub
Xl-Enthusiast - din løsning kan jeg få til at fungere, når jeg bruger mit eget eksempel, men når jeg bruger formelen i mit data ark, så kan jeg ikke få det til at fungere ...
jens48 - wow.... jeg havde håbet at der var en mere simpel løsning. Jeg må alliere mig med en anden excel kyndig for helt at forstå dit forslag.
Hvordan er dit data ark anderledes. Eller er du ikke interesseret?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.