Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellenwerte zusammenschreiben

Zellenwerte zusammenschreiben
01.11.2017 16:14:04
Helmut
Liebe Leute,
gerne würde ich eine Beispieltabelle hochladen, aber das ist mir leider nicht erlaubt...
Ich habe eine Tabelle die enthält Informationen, wie z.B.:
Spalte A----Spalte B-----------Spalte C
Name--------Gültigkeit von-----Gültigkeit bis
Ball--------1------------------3
Ball--------7------------------10
Kugel-------1------------------5
Quadrat-----2------------------7
Quadrat-----7------------------10
Quadrat-----12-----------------15
So soll es aber aussehen:
Spalte A----Spalte B
Name--------Absolute Gültigkeit
Ball--------1-3, 7-10
Kugel-------1-5
Quadrat-----2-7, 7-10, 12-15
Ich erwarte bezüglich dieses düftigen Beispieles keine Komplettlösung, aber eventuell besteht Hoffnung auf einen Richtung, die mir hilft mein Problem zu lösen.
Vielen Dank also im voraus für jeglichen Hinweis.
Helmut

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verschiedene Möglichkeiten ...
01.11.2017 16:29:16
...
Hallo Helmut,
... außer einer spez. zugeschnitten VBA-Lösung wäre da z.B. die Möglichkeit mit der UDF VJoin von Luc (hier im Forum veröffentlicht, google mal danach) oder mit Standardformel und entsprechenden Hilfszellenlösung zusammenzusetzen.
Gruß Werner
.. , - ...
AW: einfaches VBA
01.11.2017 16:40:09
Fennek
Hallo,
teste

Sub iFen()
Ar = Cells(1).CurrentRegion
With CreateObject("scripting.dictionary")
For i = 2 To UBound(Ar)
If .exists(Ar(i, 1)) Then
.Item(Ar(i, 1)) = .Item(Ar(i, 1)) & ", " & Ar(i, 2) & "-" & Ar(i, 3)
Else
.Item(Ar(i, 1)) = Ar(i, 2) & "-" & Ar(i, 3)
End If
Next i
Cells(5, 5).Resize(.Count, 2).NumberFormat = "@"
Cells(5, 5).Resize(.Count, 2) = Application.Transpose(Array(.keys, .items))
End With
End Sub
mfg
Anzeige
Was neopa meint, wäre neben Fenneks SubProz ...
02.11.2017 00:57:35
Luc:-?
…eine singulare MatrixFml wie die folgende, Helmut:
B2[:B4]: {=VJoin(WENN(Tabelle1!A$2:A$7=A2;Tabelle1!B$2:B$7&"-"&Tabelle1!C$2:C$7;"");", ";-1)}
Die Werte in Spalte A wären dabei manuell anzulegen oder mit einer pluralen MatrixFml zu ermitteln:
A2:A4: {=DataSet(Tabelle1!A2:A7;"";;1;1)}
Hier wird davon ausgegangen, dass sich die OriginalDaten auf Blatt Tabelle1 befinden, die ErgebnisTabelle aber auf einem anderen Blatt.
Es gibt aber noch andere Möglichkeiten mit UDFs, die du analog der hiesigen und denen unter nfolgd ForumsBeitrag entwickeln könntest: https://www.herber.de/forum/messages/1588894.html
Das dort zum Schluss Angemerkte gilt auch hier. Die letztpublizierte Version von VJoin wäre 1.4, die von DataSet 1.3!
Du hast leider nicht erwähnt, wie groß das DatenVolumen ist. Bei vielen 100 Zeilen wäre eine SubProzedur wie die von Fennek wahrscheinlich bequemer (und das Ergebnis schneller erzeugt), die FmlLösung mit UDFs aber ebenfalls noch machbar und universeller, weil sie auch für ähnliche, aber nicht gleiche Fälle eingesetzt wdn könnte. Das musst du entscheiden!
Gruß, Luc :-?
Anzeige
AW: Zellenwerte zusammenschreiben
02.11.2017 01:08:47
Daniel
Hi
geht auch ohne VBA und UDFs:
1. falls nicht schon geschehen, Liste nach Spalte A sortieren
2. in Zelle D2 diese Formel und bis zum Ende runter ziehen:
=B2&"-"&C2&WENN(A2=A3;", "&D3;"")

3. Spalte D kopieren und als Wert einfügen
4. Spalte B und C löschen
5. auf die Spalten A:B (also das was übrig ist) die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN answenden mit der Spalte A als Kriterium
6. Überschrift in B1 eintragen.
Gruß Daniel
AW: Zellenwerte zusammenschreiben
02.11.2017 07:00:47
Helmut
Guten Morgen,
ich bin mal wieder begeistert von eurer schnellen und professionellen Unterstützung, habe den Aufwand und das benötigte Fachwissen diese Aufgabe zu lösen aber unterschätzt. Da es sich um mehrere 100.000 Zeilen handelt, die sich mehrfach täglich verändern, werde ich das Thema aufgeben. Natürlich habe ich eure Zuarbeit versucht nachzuvollziehen, aber komplett vergeblich :-)
Danke trotzdem!!!
Helmut
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige