Clever-Excel-Forum

Normale Version: Zeichenfolgen in Zellen anpassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

kann mir bitte jemand bei folgenden Problem (für mich) weiterhelfen:

Ich habe eine Auflistung von Nummern, in denen die Reihenfolge der Daten in den einzelnen Zellen unterschiedlich ist. 

Ist:
[C0400036160001510L20268112015[C1520111833020547
[C1520121833020487[C0400036160001110L20268112023
[C0400036160111310L20268113452[C1520091833020859
[C1520071833020487[C0400036105152310L20268123519

Welche Funktion, Formel o.ä. kann ich verwenden,
um in jeder Zelle erst den langen Wert und hinten dran den kurzen Wert zu haben?

Soll:

[C0400036160001510L20268112015[C1520111833020547
[C0400036160001110L20268112023[C1520121833020487
[C0400036160111310L20268113452[C1520091833020859
[C0400036105152310L20268123519[C1520071833020487

[attachment=34371]

Schon mal Danke im Vorraus.
Hallöchen,

wenn die Aufteilung immer gleich ist, d.h. das [ an Stelle 31 oder 19, dann so

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
4[C0400036160001510L20268112015[C1520111833020547[C0400036160001510L20268112015[C1520111833020547
5[C1520121833020487[C0400036160001110L20268112023[C0400036160001110L20268112023[C1520121833020487
6[C0400036160111310L20268113452[C1520091833020859[C0400036160111310L20268113452[C1520091833020859
7[C1520071833020487[C0400036105152310L20268123519[C0400036105152310L20268123519[C1520071833020487

ZelleFormel
C4=WENN(TEIL(A4;31;1)="[";A4;TEIL(A4;19;99)&TEIL(A4;1;18))
C5=WENN(TEIL(A5;31;1)="[";A5;TEIL(A5;19;99)&TEIL(A5;1;18))
C6=WENN(TEIL(A6;31;1)="[";A6;TEIL(A6;19;99)&TEIL(A6;1;18))
C7=WENN(TEIL(A7;31;1)="[";A7;TEIL(A7;19;99)&TEIL(A7;1;18))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
Hallo,

es sollte auch mit Formeln zu lösen sein, aber mit VBA wäre das ein Ansatz:

Code:
Sub Main
for i = 4 to 7
    tx = split(cells(i,1), "[")
    if len(Tx(1)) > len(Tx(2)) then
        cells(i,2) = "[" & Tx(1) & "[" & Tx(2)
    else
        cells(i,2) = "[" & Tx(2) & "[" & Tx(1)
    endif
next i
End Sub

mfg
Zitat:=IF(MID(A4;19;1)="[";MID(TEXT(A4;"@@");19;LEN(A4));A4)
oder


PHP-Code:
Sub M_snb()
  sn Cells(41).CurrentRegion
  
  
For 2 To UBound(sn)
      st Split(sn(j1), "[")
      If Len(st(1)) < Len(st(2)) Then sn(j1) = Join(Array(""st(2), st(1)), "[")
  Next
  
  Cells
(41).CurrentRegion sn
End Sub