Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Auslesen von Fahrer oder Tourdaten
#1
Hallo liebe Gemeinde,

man hat mir als Aufgabe aufgetragen quasi eine vereinfachte Leistungsübersicht zu bauen, damit die entsprechenden Kollegen sich Daten einfacher raussuchen können.
Ich habe die bestehende Tabelle als Blanko umgebaut und bräuchte eure Hilfe bei den Formeln, da ich momentan auf dem Schlauch stehe.

In der Datei sind 4 Arbeitsblätter mit Liniennummern (Spalte A) und Fahrernamen (Zeilen oberhalb der Ortsbezeichnung, Anzahl ist variabel). 
Im Diagramm wurde in schwarz markiert, welcher Fahrer welche Linie fahren kann.
(Die siebenstellige Zahl unterhalb der Ortsbezeichnung ist für die Auswertung eigentlich nicht relevant)

Da Fahrer aber in allen 4 Arbeitsblättern eingetragen werden können, möchte man gerne wissen, welche Fahrer kann welche Linie fahren oder auf welche Linie kann welcher Fahrer eingesetzt werden.

Könnt Ihr mir eine Hilfestellung geben, wie ich hier am sinnvollsten vorgehe?


Angehängte Dateien
.xlsx   TEST Linienschnittpunkte.xlsx (Größe: 25,25 KB / Downloads: 14)
Antworten Top
#2
Hallo,

eine Kreuztabelle auszuwerten ist schon ein Spiel mit zig Verrenkungen, eine solche mit mehrfachen Überschriftszeilen sehe ich als unmöglich zum Auswerten an. Du solltest eine einfache Excelliste erstellen - diese kann erheblich leichter mit Formeln oder mit einer Pivottabelle ausgewertet werden.

Lies doch bitte mal den Beitrag hinter diese Link https://www.online-excel.de/excel/singsel.php?f=52 zum Thema korrekte Excellisten durch.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Ich kann zumindest behaupten, dass das Grundgerüst nicht von mir stammt.  Angel

Werde aber mal schauen, ob ich die Tabellen so umbauen kann, dass die Kollegen trotzdem damit arbeiten können. 
Man wollte eigentlich gern dieses Layout behalten.
Antworten Top
#4
Hallöchen,

Du könntest Deine Linienschnittpunkte auch auf Basis einer Liste per Formel füllen, mal abgesehen von der Rechenleistung Smile Hier mal der Ansatz. Die 0 kannst Du per Einstellung ausblenden und >0 verwendest Du als Regel für eine bedingte Formatierung zum anschwärzen Smile Smile.

Arbeitsblatt mit dem Namen 'Linienschnittpunkte 200er'
ACDE
1Fahrer 3Fahrer 6Fahrer 7
2Fahrer 4
3x= EmailFahrer 5
4HamburgHamburgHamburg
5200er776020277602037760204
611110
711130
811141Fahrer 31114
911150Fahrer 41120
1011201

ZelleFormel
C6=ZÄHLENWENNS($D$6:$D$10;C$1;$E$6:$E$10;$A6)+ZÄHLENWENNS($D$6:$D$10;C$2;$E$6:$E$10;$A6)+ZÄHLENWENNS($D$6:$D$10;C$3;$E$6:$E$10;$A6)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo

ich hab mal ein Makro geschrieben.

- Leg 2 neue Blatter an. (Fahrer und Linien)
- kopier das Makro in ein normales Modul


Code:
Option Explicit

Sub Fahrer_Linien()
    Dim TB1 As Worksheet, TB2 As Worksheet, TBx As Worksheet
    Dim Z1 As Integer, S1 As Integer, Finde As String, Fahrer As String, Linie As String
    Dim LC As Integer, Z As Integer, S As Integer, ZZ As Integer, ZS As Integer
   
    Set TB1 = Sheets("Fahrer")
    Set TB2 = Sheets("Linien")
    S1 = 1 'Spalte A
    Finde = "er" ' zum Feststellen der Kopfzeilenanzahl
   
    For Each TBx In ThisWorkbook.Sheets
        If TBx.Name <> TB1.Name And TBx.Name <> TB2.Name Then
            LC = TBx.Cells.SpecialCells(xlCellTypeLastCell).Column 'Letzte Spalte des gesamten Blattes
   
            Z1 = WorksheetFunction.Match(Finde, TBx.Columns(S1), 1) 'Zeile mit Linen Nummer finden
                       
            For S = S1 + 1 To LC 'durchläuft alle Spalten von 2 bis zum Ende
                For Z = 1 To Z1 - 2 'durchläuft alle Zeilen mit Fahrern
               
                    Fahrer = TBx.Cells(Z, S)
                    Linie = TBx.Cells(Z1, S)
                   
                    If Fahrer <> "" Then
                   
                        '*** Fahretabelle füllen
                        If WorksheetFunction.CountIf(TB1.Columns(1), Fahrer) > 0 Then 'Fahrer schon vorhanden
                            ZZ = WorksheetFunction.Match(Fahrer, TB1.Columns(1), 0) 'Zeile des Fahrers
                            LC = TB1.Cells(ZZ, TB1.Columns.Count).End(xlToLeft).Column + 1 ' Erste Freie Spalte
                           
                            TB1.Cells(ZZ, LC) = Linie 'Line hinzufügen
                       
                        Else 'neuer Fahrer
                            ZZ = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row + 1 'erste Freie Zeile
                            TB1.Cells(ZZ, 1) = Fahrer
                            TB1.Cells(ZZ, 2) = Linie

                        End If
                       
                        '*** Linientabelle füllen
                        If WorksheetFunction.CountIf(TB2.Columns(1), Linie) > 0 Then 'Linie schon vorhanden
                            ZZ = WorksheetFunction.Match(CDbl(Linie), TB2.Columns(1), 0) 'Zeile der Linie finden ** Zahl kein Text
                            LC = TB2.Cells(ZZ, TB2.Columns.Count).End(xlToLeft).Column + 1 ' Erste freie Spalte
                           
                            TB2.Cells(ZZ, LC) = Fahrer 'FAhrer ergänzen
                       
                        Else 'neue Linie
                            ZZ = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row + 1 'erste freie Zeile
                            TB2.Cells(ZZ, 1) = Linie
                            TB2.Cells(ZZ, 2) = Fahrer
                           
                        End If

                       
                    End If
                Next
            Next
           
        End If
   
    Next
End Sub

LG UweD
Antworten Top
#6
Vergiss es.

Habe da was falsch verstanden und nur die Zeile mit den 7 Stelligen Nr. ausgewertet

LG UweD
Antworten Top
#7
Da keine Resonanz vom Ersteller kommt...


... Huh 

mach ich auch nicht weiter.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste