Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1300to1304
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

Positionsangaben umwandeln

Positionsangaben umwandeln
09.03.2013 00:08:47
AcJoker
Hallo,
ich suche eine Funktion die mir Positionen „errechnet“.
Eine Spalte enthält Positionsangaben die wie folgt aufgebaut sind.
1,2:3
1 Bezeichnet das Rack (Mögliche Werte 1-3)
2 Bezeichnet das Modul (Mögliche Werte 1-4)
3 Bezeichnet die Position auf dem Modul (Mögliche Werte 1-20)
Somit maximal 20 Positionen je Modul bzw. 80 Positionen je Rack.
Zusätzlich habe ich eine Spalte mit Objektbezeichnungen.
Also so:
Objekt_A-1 1,1:1
Objekt_A-2 1,1:1
Objekt_A-3 1,1:1
Objekt_B-1 1,1:4
Objekt_B-2 1,1:4
Objekt_B-3 1,1:4
Objekt_B-4 1,1:4
Objekt_C-1 1,1:8
Objekt_C-2 1,1:8
Wie man sieht wird leider nur die erste Position richtig angegeben.
Nun hätte ich aber gerne das aus diesen Informationen in einer weiteren Spalte die tatsächlichen Positionen erstellt werden.
Dies sollte dann so aussehen:
Objekt_A-1 1,1:1 1,1:1
Objekt_A-2 1,1:1 1,1:2
Objekt_A-3 1,1:1 1,1:3
Objekt_B-1 1,1:4 1,1:4
Objekt_B-2 1,1:4 1,1:5
Objekt_B-3 1,1:4 1,1:6
Objekt_B-4 1,1:4 1,1:7
Objekt_C-1 1,1:8 1,1:8
Objekt_C-2 1,1:8 1,1:9
Beachtet werden muss dabei aber dass die am Anfang angegebenen Grenzen eingehalten werden.
Also auf Position 1,1:20 folgt 1,2:1 und nicht 1,1:21.
Erschwert wird das Ganze zusätzlich dadurch dass es auch vorkommen kann das plötzlich wieder auf die aller erste Position 1,1:1 gewechselt wird und es dann halt wieder von vorne los geht.
Wäre vielleicht jemand so nett und könnte mir hierfür eine Lösung aufzeigen? Vielen Dank.
Gruß
Joker

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Positionsangaben umwandeln
09.03.2013 07:52:07
fcs
Hallo Jochen,
damit dir besser geholfen werden kann solltest du hier eine Beispieltabelle hochladen.
Tabelle1: was du jetzt hast
Tabelle2: was du als Ergebnis möchtes
und die Beschreibung nach welchem Schema die Positionsnummern ermittelt werden sollen.
Deine Beschreibung und die Beispielliste in der Frage ist irgendwie etwas unklar.
Am "einfachsten" wird es wenn die Werte für Rack, Modul und Position in separaten Spalten berechnet werden.
Gruß
Franz

Aufgabe nicht ganz klar
09.03.2013 09:40:49
Erich
Hi Vorname,
dein Beispiel beinhaltet einige interessante Fälle nicht.
Kann es in der neuen Anordnung Lücken geben?
Was, wenn eine Position schon besetzt ist? Wird dann "weiter gerückt"?
Ist hier neu1 oder neu2 richtig? Wenn nicht, wie sollte es sein?
 BCD
2altneu1neu2
31,1:11,1:11,1:1
41,1:41,1:21,1:4
51,1:151,1:31,1:15
61,1:121,1:41,1:16
71,1:191,1:51,1:19
81,1:191,1:61,1:20
91,1:191,1:71,2:1
101,2:11,1:81,2:2
111,2:21,1:91,2:3


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Aufgabe nicht ganz klar
09.03.2013 12:05:26
AcJoker
https://www.herber.de/bbs/user/84264.xls
Danke für deine Mühe.
Leider passt keins deiner Beispiele.
Ich habe nun mal eine Beispieldatei angehängt.
Spalte A zeigt das Opjekt
Spalte B ist zu ignorieren
Spalte C ist meine Position die entsprechend umgewandelt werden soll
Spalte E zeigt die nun von mir von Hand umgewandelten Positionen, zu beachten ist besonders Zeilen 158 & 159.
Ausserdem kann es auch sein das z.B. von Rack 1,3:12 auf 1,1:1 gewechselt wird.
Mein Beispiel berücksichtigt nicht das es eigentlich 3 mögliche Racks gibt. Sonst wäre es noch länger geworden.
Ab Spalte H habe ich dann die Positionen dem Rack entsprechend aufgeteilt, eigentlich sollten dazu auch passend die Daten aus Spalte A & B kopiert werden.
Dies soll im nächsten Schritt erfolgen.
Die Positionen umzuschlüsseln ist nur der erste Teil einer Problemlösung.
P.S.: Wie binde ich eine Tabelle so ein wie du?

Anzeige
Aufgabe weiterhin nicht klar
09.03.2013 13:32:38
Erich
Hi Vorname,
"Leider passt keins deiner Beispiele." Was genau bedeutet das?
neu1 und neu2 sind wohl beide falsch. Aber was wäre in diesen Fällen richtig gewesen?
Dein neues Beispiel (hast du wirklich die richtige Mappe hochgeladen?)
beinhaltet die von mir genannten interessanten Fälle nicht.
Ich wandele in einigen Zeilen etwas ab und frage dich, was nun in die Zellen I22:I26 kommen sollte:
 GHI
181,1:16 1,1:18
191,1:19 1,1:19
201,1:19 1,1:20
211,1:19 1,2:1
221,1:19  
231,1:19  
241,2:2  
251,2:2  
261,2:3  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Die Zeilen 158 und 159 sind in deiner Tabelle leer.
Zum P.S.: Unterhalb der Tabelle steht der Text Excel Tabellen im Web darstellen, daneben ist ein Link.
Es gibt noch andere Werkzeuge für die HTML-Darstellung von Exceltabellen im Forum.
Hinweise findest du hier in wirklich sehr vielen Beiträgen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schönes Wochenende!

Anzeige
AW: Aufgabe weiterhin nicht klar
09.03.2013 14:34:32
AcJoker
Mir ist bewusst das meine Fragestellung nicht leicht zu umschreiben ist, darum sorry das es nicht so klar rüber kommt.
Ich bin wirklich froh das sich jemand die Arbeit macht und sich um mein Problem kümmert.
Meine Beispieldatei ist ok. K.a. warum du die Zeilen nicht findest.
Hier habe ich nun mal dein Beispiel ergänzt.
Leider war dies so nicht ganz möglich.
Zwischen 1,1:19 und 1,2:2 liegen nur 2 weitere Positionen.
Denn das Modul 1 kann maximal 20 Positionen aufnehmen, danach geht es über zu Modul 2.
Die gelben Felder sind eigentlich die entscheidenden Felder, diese müssen übereinstimmen und dazwischen muss entsprechend aufgefüllt werden.
Tabelle1

 EFG
31,1:16 1,1:16
41,1:16 1,1:17
51,1:16 1,1:18
61,1:19 1,1:19
71,1:19 1,1:20
81,1:19 1,2:1
9   
10   
111,2:2 1,2:2
121,2:2 1,2:3
131,2:3 1,2:4


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Mit Filldown kann ich Problemlos auffüllen, aber ich muss Excel irgendwie vermitteln das nach :20 der Zähler für das Modul um 1 erhöht werden muss bis zu einem Maximalwert von 4.
Somit nach 1,1:20 nicht 1,1:21 sondern 1,2:1 folgt.
Erreichen wir 4:20 muss der Zähler für das Rack um eins erweitert werden bis zu einem Maximalwert von 3.
Also nach 1,4:20 folgt 2,1:1.
In meinem ersten Beispiel meinte ich mit Zeile 158 und 159 folgenden Fall.
2,4:19 und 2,4:20 sind nicht belegt. Erkennbar daran auf 1,1:1 gesprungen wird.
Immer wenn in Spalte A ein Wert mit Bindesstrich 1 (-1) steht kann dies vorkommen.
Bzw. immer zu beginn einer Änderung der Position in Spalte N.
Tabelle1

 ABCDE
155ABC172-1407,22,4:15 2,4:15
156ABC172-2407,22,4:15 2,4:16
157ABC172-3407,22,4:15 2,4:17
158ABC172-4407,22,4:15 2,4:18
159ABC173-1454,21,1:1 1,1:1
160ABC173-2454,21,1:1 1,1:2
161ABC173-3454,21,1:1 1,1:3
162ABC173-4454,21,1:1 1,1:4
163ABC174-1440,21,1:5 1,1:5


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Markus

Anzeige
AW: Aufgabe weiterhin nicht klar
09.03.2013 15:31:34
Erich
Hi Markus, :-)
" Meine Beispieldatei ist ok. K.a. warum du die Zeilen nicht findest."
Sei so nett und lade deine Beispielmappe https://www.herber.de/bbs/user/84264.xls mal runter.
Findest du da gefüllte Zeilen 158 usw.? Bei mir hört die Tabelle mit Zeile 26 auf...
"Hier habe ich nun mal dein Beispiel ergänzt. Leider war dies so nicht ganz möglich.
Zwischen 1,1:19 und 1,2:2 liegen nur 2 weitere Positionen.
Denn das Modul 1 kann maximal 20 Positionen aufnehmen, danach geht es über zu Modul 2."
Mein Beispiel war absichtlich so gewählt, dass der Platz zwischen 1,1:19 und 1,2:2 eben nicht ausreichte.
Eine anständige Formel sollte auch damit umgehen können - vielleicht dann einen Fehlerhinweis ausgeben.
Du kannst natürlich sagen: So eine Situation kann nicht vorkommen. Aber das kann ich ja nun nicht wissen.
Und: Bist du sicher, dass nie ein Fehler auftritt, der diese Situation doch zur real existierenden macht?
Im Moment habe ich keine Zeit, schaue demnächst wieder danach.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Aufgabe weiterhin nicht klar
09.03.2013 17:42:01
AcJoker
Hallo Erich,
sorry da muss ich mich wohl entschuldigen.
Ich hatte mir zwar die Beispieldatei hier nochmal geladen aber ich hatte auch meine vermeintlich hochgeladene Beispieldatei zeitgleich offen. Und dabei habe ich mich dann wohl verschaut. :-(
Ich hänge nun mal die echte Beispieldatei an und hoffe dann wird einiges klarer. *g
Es ist sehr nett das du auch an ein gutes Fehlerhandling denkst, nur kann der von dir erdachte Fall aufgrund der Quelldaten wirklich nie vorkommen.
https://www.herber.de/bbs/user/84268.xls
Spalte H bis K stellt dann den nächsten Schritt dar, und zwar das erkennen von x,1:1 und daraus dann das aufteilen der Daten nach Racks.
Dazu starte ich aber noch einen extra Thread.

Anzeige
Weiterhin offen
09.03.2013 19:37:43
AcJoker
Die Frage ist weiterhin offen.
Mir ist kein anderes Forum bekannt das eine "offen" Funktion in dieser Art nutzt.
Sorry das ich da erst jetzt drauf komme.

AW: Weiterhin offen
09.03.2013 19:49:29
Christian
Hallo,
so richtig klar ist die Logik immer noch nicht!
Eventuel hilft Dir die Formel =GANZZAHL((ZEILE()-1)/80)+1&","&GANZZAHL((REST(ZEILE()-1;80)+1)/20)+1&":"&REST(ZEILE()-1;20)+1 weiter.
In E1 eintragen und nach unten kopieren.
MfG Christian

Formelvorschlag
09.03.2013 19:46:15
Erich
Hi Markus,
schau dir das mal an - mit den beiden Hilfsspalten M und N:
 ABCDEFGHIJKLMN
1ABC123-1498,11,1:1 1,1:1  1,1:12,1:11,1:12,1:1 10010011001001
2ABC123-2498,11,1:1 1,1:2  1,1:22,1:21,1:22,1:2 10010011001002
3ABC123-3498,11,1:1 1,1:3  1,1:32,1:31,1:32,1:3 10010011001003

Formeln der Tabelle
ZelleFormel
E1=KÜRZEN(N1/1000000)&","&--LINKS(RECHTS(N1;6); 3)&":"&--RECHTS(N1;3)
M1=1000*(1000*LINKS(C1;FINDEN(",";C1)-1)+TEIL(C1;FINDEN(",";C1)+1;FINDEN(":";C1)-FINDEN(",";C1)-1))+RECHTS(C1;LÄNGE(C1)-FINDEN(":";C1))
N1=M1
E2=KÜRZEN(N2/1000000)&","&--LINKS(RECHTS(N2;6); 3)&":"&--RECHTS(N2;3)
M2=1000*(1000*LINKS(C2;FINDEN(",";C2)-1)+TEIL(C2;FINDEN(",";C2)+1;FINDEN(":";C2)-FINDEN(",";C2)-1))+RECHTS(C2;LÄNGE(C2)-FINDEN(":";C2))
N2=WENN(M2<M1;1001001;MAX(M2;N1+1+980*(REST(N1;20)=0)+996000*(REST(N1;100000)=4020)))
E3=KÜRZEN(N3/1000000)&","&--LINKS(RECHTS(N3;6); 3)&":"&--RECHTS(N3;3)
M3=1000*(1000*LINKS(C3;FINDEN(",";C3)-1)+TEIL(C3;FINDEN(",";C3)+1;FINDEN(":";C3)-FINDEN(",";C3)-1))+RECHTS(C3;LÄNGE(C3)-FINDEN(":";C3))
N3=WENN(M3<M2;1001001;MAX(M3;N2+1+980*(REST(N2;20)=0)+996000*(REST(N2;100000)=4020)))

E1 und M1 kannst du nach unten kopieren, N2 auch.
Die Spalten H:K habe ich nicht verstanden, aber macht ja nix: :-)
"Dazu starte ich aber noch einen extra Thread."
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Danke, das sieht super aus.
09.03.2013 20:04:17
AcJoker
Wahnsinn, danke.
Es scheint perfekt zu funktionieren.
Ich werde das ganze dann noch versuchen in einem Makro unterzubringen.
Also so das mir ein Makro die Formeln enträgt, dann die Werte aus Spalte E in Spalte E kopiert und danach die Hilfsspalten gelöscht werden.
Die "Funktion" bzw. das erstellen der Spalten H bis K wird in meinem anderen Thread diskutiert, denn ich leider total versaut habe. :-(

sorry - CROSS
09.03.2013 23:55:45
Erich
Hi Markus,
a)
Warum hast du nicht gleich zu Beginn mitgeteilt, dass du eine VBA- und keine Formellösung suchst?
Die Arbeit mit den Formeln hätte ich mir sparen können. VBA geht da leichter.
Wegen b) werde ich keine Zeit mehr dafür aufbringen.
b)
Ich nehme an, du wirst umgehend hier mitteilen, dass du die gleichen Fragen auch bei office-loesung.de gestellt hast,
und dort, dass auch bei Herber Lösungen angeboten wurden. Und das mit Links auf die jeweiligen Threads.
Ich finde es wenig erheiternd, wenn man (jetzt leider zu spät) sieht, dass man - ohne voneinander zu wissen -
parallel an den selben Aufgaben gearbeitet hat.
und tschüss... - Grüße aus Kamp-Lintfort von Erich

Anzeige
Sorry
10.03.2013 01:10:54
AcJoker
Auch an dieser Stelle noch mal ein dickes Sorry.
Nun ich hatte und habe keine Ahnung welche Möglichkeiten der Umsetzung sich in diesem Fall bieten.
Ich war und bin dankbar für jede hilfe die zu einer Lösung führt.
Ich würde lügen wenn ich sagen würde das ich über deine Formellösung nicht etwas verwundert war. Ich hätte auch eher mit VBA gerechnet. Aber ich bin nicht in der Position einen bestimmten Lösungsweg einzufordern.
Somit habe ich genommen was ich bekomme und habe das Beste daraus gemacht. Das wichtigste war mir, das es funktioniert.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige