416 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Helfer,

komme (wieder mal...) nicht wirklich weiter - wie kann ich (ohne VBA?) folgendes lösen:
Spalte A, Zeile6 bis 101 stehen die Uhrzeiten eines 24-Stunden Tages im Format hh:mm" Uhr" und im Viertel-h-Abstand
also beginnend in A6 = 00:15 Uhr, A7 = 00:30 Uhr, A8 = 00:45 Uhr, A9 = 01:00 Uhr usw. bis Zeile A101= 00:00 Uhr.
SpalteB = Holz, SpalteC = Metall, SpalteD = Sonstige
Bei jeder Bearbeitung wird ein x in die Zeile der dazugehörigen Uhrzeit eingegeben also wenn z.B. in B27 ein x steht, ist (A27) um 05:30 Uhr ein Holz-Werkstück bearbeitet worden usw.
Nun mein Wunsch – ich möchte die Zeiten mit den jeweiligen Bereichen (Holz, Metall u. Sonstige) ohne Leerzeilen untereinander im nächsten Tabellenblatt anlegen.
Also A+B für Uhrzeit u. Holz, C+D für Uhrzeit u. Metall sowie E u. F für Uhrzeit u. Sonstige.
Nun wird ja nicht alle Viertel-h ein Stück der gleichen Sorte bearbeitet, es gibt somit Leerzeilen in den Sortenspalten bei den feststehenden Uhrzeiten in Spalte A. Manchmal ist von einer Sorte am Tag auch gar kein Eintrag vorhanden, dann soll in der entsprechenden Spalte "Heute nicht" erscheinen.
Hab's mit SVerweis versucht, aber komm da (bis jetzt) nicht zurande.

Bisher übertrage ich halt alles händig mit Copy & Paste, aber mit Excel (2010) gibt es bestimmt eine Formel oder Funktionslösung die mir weiterhilft.
Wer kann mir diese vermitteln?

Danke und Gruß

Ingo

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Ingo,

schau mal, ob das hier was für dich ist: KLICK MICH!

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.

danke erst mal für die schnelle Reaktion. Ich versuch mal etwas rumzufummeln und auf meine Daten zu übertragen.
Die Schwierigkeit für mich ist noch folgende (vl. war das nicht deutlich genug ausgedrückt):
Die Uhrzeiten in A sind fest ausgefüllt! Die formel für die Spalte B sollte ein Ergebnis liefern, das die Uhrzeit der Zeile von Spalte A, wenn ein x in Spalte B in gleicher Zeile liegt, auf ein neues Blatt in A und B übertragen wird, danach der nächste Eintrag wo beide Zeilen einen Eintrag haben und die Leerzeilen zwischen zwei Einträgen aus Tabelle 1 nicht beachtet.
Könnte also in Tabelle 2 so aussehen:

A8 in tbl 1 ist 00:45 und in B8 steht das erste x des Tages (nur ein Bsp.) dann A8 und B8 in neue Tabelle.
Nun kann eine Reihe Leerzellen in B kommen bis z.B. A41 (=09:00 Uhr) wieder mit einem x in B41 übereinstimmt.
Diese Lücke von 8 bis 41 soll eben durch den Neueintrag geschlossen werden.
Die ersten zwei Einträge in der neuen Tabelle wären dann
A6 tbl 1 = 00:45 Uhr in A6 tbl 2 und B6 tbl 1 = Holz in B6 tbl 2
A41 tbl 1 = 09:00 Uhr in A7 tbl 2 und B41 tbl 1 = Holz in B7 tbl 2
usw.

Da dokter ich schon eine weile dran rum und kriegs nicht hin.

Noch Vorschläge?
Kann mich leider erst morgen wieder melden,

danke vorab

Ingo
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Ingo,

entsprechend dem in Antwort 2 geposteten Link hier die Formel für die Tabelle Holz:
In die Spalte für die Uhrzeit schreibe die Formel:
=WENNFEHLER(WENN(ZEILE(Tabelle2!B2)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!A:A;KKLEINSTE(WENN(Tabelle2!B$1:B$1000<>"";ZEILE($1:$1000));ZEILE(A2))));"")
Die Zellen musst du dann noch als Uhrzeit formatieren.

In die Spalte für das x schreibe die Formel:
=WENNFEHLER(WENN(ZEILE(Tabelle2!B2)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!B:B;KKLEINSTE(WENN(Tabelle2!B$1:B$1000<>"";ZEILE($1:$1000));ZEILE(B2))));"")

Für die das Blatt Metall würden die Formeln so aussehen:
Uhrzeit:
=WENNFEHLER(WENN(ZEILE(Tabelle2!B1)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!C:C;KKLEINSTE(WENN(Tabelle2!D$1:D$1000<>"";ZEILE($1:$1000));ZEILE(A1))));"")
X:
=WENNFEHLER(WENN(ZEILE(Tabelle2!B1)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!D:D;KKLEINSTE(WENN(Tabelle2!D$1:D$1000<>"";ZEILE($1:$1000));ZEILE(A1))));"")

und für das Sonstige:
=WENNFEHLER(WENN(ZEILE(Tabelle2!B1)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!E:E;KKLEINSTE(WENN(Tabelle2!F$1:F$1000<>"";ZEILE($1:$1000));ZEILE(A1))));"")
und
=WENNFEHLER(WENN(ZEILE(Tabelle2!B1)>ANZAHL2(Tabelle2!B:B);"";INDEX(Tabelle2!F:F;KKLEINSTE(WENN(Tabelle2!F$1:F$1000<>"";ZEILE($1:$1000));ZEILE(A1))));"")

Achtung: Es handelt sich hier um Matrixformeln! Die Formeleingabe muss mit STRG+UMSCHALT+RETURN abgeschlossen werden.
Den Namen der Tabelle in der deine Liste mit den Uhrzeiten steht, musst du natürlich auf deine Verhältnisse anpassen.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.,

erst mal als kurzes feedback:
Danke für die Mühe mit meinen Erklärungen ;-)
Ich werde mich damit heute nachmittag auseinandersetzen und mich wieder melden.
Sieht jedenfalls schon vielversprechend aus!

Dir und allen andern Helfern hier noch einen schönen Tag

Ingo
0 Punkte
Beantwortet von
Hallo M.O.,

Endlich hab ich's gerafft :-)
Nach ein paar SpaltenNamen-Anpassungen deiner Formeln (die wohl durchs ziehen durcheinander geraten sind) sieht meine Tabelle jetzt so aus wie gewünscht und alles klappt!

Erklären könnte ich die Funktion selbst aber nicht wirklich...

Hier wird einem immer gut geholfen!

Danke Dir und allen anderen hier.

Gruß

Ingo
...