Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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
Artikelnummern aus Text
11.03.2014 00:06:29
Raphael
Hallo zusammen,
ich suche nach einer Möglichkeit aus einem Fliesstext welcher über mehrere Zellen geht die Artikelnummern heraus zu suchen. Leider fehlt mir der zündende Ansatz.
In der Beispielmappe seht ihr einen Teil des Textes und was ich gerne als Resultat hätte. Bin für jede Idee dankbar.
https://www.herber.de/bbs/user/89614.xlsx
Gruess
Raphael

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Artikelnummern aus Text
11.03.2014 01:48:14
Christian
Hallo Raphael,
ein möglicher (aber umständlicher) Ansatz:
Formel in B3 nach rechts und unten kopieren, die Formel in A1 nach unten.
Text

 ABCDE
31. Polstergarnitur LOFT Leder mocca, 255 ×160 H 74 cm, 4.412.954. Hocker 4.412.956. CHF 509.15 statt 599.– Kissen beige, 4.413.029. ab CHF 50.15 statt 59.– 4.412.954.4.412.956.4.413.029.
4Regalprogramm PAUL Asteiche massiv 1 Fach B 44 T 35 H 44 cm, 4.405.932. CHF 109.65 statt 129.– 4 Fächer H 170 cm, 4.405.938. CHF 339.15 statt 399.–4.405.932.4.405.938.  
55 Fächer B 86 T 35 H 212 cm, 4.405.960. CHF 509.15 statt 599.– Schubkasten schmal 2er-Set, 4.405.943. CHF 169.15 statt 199.– breit 4er-Set, 4.405.944.4.405.960.4.405.943.4.405.944. 
6CHF 254.15 statt 299.– Stufenregal 6 Fächer, 4.405.972. CHF 424.15 statt 499.–4.405.972.   

Formeln der Tabelle
ZelleFormel
B3{=WENN(SPALTE(A1)>SUMMENPRODUKT((TEIL($A3&" ";z_1;1)=".")*(TEIL($A3&" ";z_2;1)=" ")); "";WENN(LÄNGE(RECHTS(TEIL($A3;1;KKLEINSTE(WENN((TEIL($A3&" ";z_1;1)=".")*(TEIL($A3&" ";z_2;1)=" "); z_1); SPALTE(A1))); 10))<10;"";RECHTS(TEIL($A3;1;KKLEINSTE(WENN((TEIL($A3&" ";z_1;1)=".")*(TEIL($A3&" ";z_2;1)=" "); z_1); SPALTE(A1))); 10)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
B3z_1=ZEILE(Text!$A$1:INDEX(Text!$A:$A;LÄNGE(Text!$A3)+1))
B3z_2=ZEILE(Text!$A$2:INDEX(Text!$A:$A;LÄNGE(Text!$A3)+2))
Namen verstehen


Gewünschtes Ergebnis

 A
14.412.954.

Formeln der Tabelle
ZelleFormel
A1{=WENN(ZEILE()>SUMME(WENN(Text!$B$3:$U$22<>"";1)); "";INDEX(Text!$B$3:$U$22;KÜRZEN(KKLEINSTE(WENN(Text!$B$3:$U$22<>"";SPALTE($A:$T)+ZEILE($1:$20)*999); ZEILE(A1))/999); REST(KKLEINSTE(WENN(Text!$B$3:$U$22<>"";SPALTE($A:$T)+ZEILE($1:$20)*999); ZEILE(A1)); 999)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian

Anzeige
Gibt es auch einen Weg mittels VBA?
11.03.2014 07:18:27
Raphael
Hallo Christian,
danke für den Ansatz, werde diesen heute noch genauer Ansehen.
Kennt noch jemand einen weg mittels VBA?
Gruess
Raphael

AW: Gibt es auch einen Weg mittels VBA?
11.03.2014 09:37:08
Rudi
Hallo,
als Ansatz: Sub ArtNr() Dim rngC As Range, i As Integer, objArt As Object Set objArt = CreateObject("Scripting.dictionary") For Each rngC In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)) For i = 1 To Len(rngC) - 8 If Mid(rngC, i, 9) Like "#.###.###" Then objArt(Mid(rngC, i, 9)) = 0 End If Next Next Sheets.Add.Cells(1, 1).Resize(objArt.Count) = WorksheetFunction.Transpose(objArt.keys) End Sub
Gruß
Rudi

Anzeige
Besten Dank euch zweien
11.03.2014 22:31:31
Raphael
Hallo Rudi, hallo Christian,
Rudi genau was ich gesucht habe. Besten Dank, aber wie kommt man nur auf so eine Idee?
Auch dir besten Dank Christian, ich habs zwar noch nicht ganz verstanden, aber ich arbeite daran.
Gruess
Raphael Heusi

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige