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.

Verketten(Sverweis()) doppelte Werte nur einmal und die Anzahl dahinter
#1
Hallo Zusammen,

ich habe hier eine Liste in der Seriennummern im Arbeitsblatt "Test organisation" in der Spalte G per dropdown ausgewählt werden. Hier werden in Spalte J der jeweilige Test ebenfalls durch dropdown ausgewählt.
Nun zu dem Problem:
Es sollen nun in Spalte I die bereits durchgeführten Tests aufgelistet werden, wobei Tests doppelt durchgeführt werden können. Daher sollte hier auch die Anzahl der gleichen Tests ausgegeben werden.

In etwa so:

[
Bild bitte so als Datei hochladen: Klick mich!
]

Weiterhin würde ich gerne bei den Seriennummern an denen bereits Tests durchgeführt wurden diese Tests ebenfalls auflisten und in die "Zählung" mit einbinden. Diese Tests habe ich bereits im Arbeitsblatt "Test Compressors" in Spalte E aufgelistet. Die zugehörige Seriennummer befindet sich auf diesem Arbeitsblatt in Spalte C.

Ich habe bereits viel ausprobiert. Wie z.B. mit Wennfehler(Verketten(SVerweis( ))) , ...
Damit bin ich aber nur soweit gekommen, dass die Formel endlos lang wird und der jeweilige Test so oft aufgeführt wird, wie ich die Formel SVerweis wiederholt habe. Ich komme aber nicht dahinter, wie ich Excel dazu bringe die gleiche Zelle mehrfach auszulesen. Ich denke hier muss ich mit einem VBA Code arbeiten, bin bei VBA aber nicht wirklich fit. Daher bitte ich euch nun um Hilfe...
Ich hoffe ich habe die Problematik verständlich erklärt!?

Vorab vielen Dank für eure Mühe.
Antworten Top
#2
Hallo Dorian,

wäre es nicht sinnvoller, die Struktur Deiner Tabelle beizubehalten und in einer Pivot-Table Deine Auswertungen durchzuführen?

LG Gerd
Antworten Top
#3
Hallo Gerd,

danke für deine Antwort.
Leider habe ich mit pivot Tabellen keine Erfahrung. Habe es gaerade aber mal ausprobiert. Hier sehe ich keine Möglichkeit, dass Ergebnis, also die bereist absolvierten Tests und die Anzahl der mehrmals durchgeführten Tests in meiner Tabelle anzuzeigen. Es soll ja so funktionieren, dass Excel die einegegebene Seriennummer (Spalte G) in der Liste sucht, dann per SVerweis den aktuellen Test (Spalte J) raussucht und diesen in die Spalte I einträgt. In Spalte I sollen dann aber auch die Tests, die bereits durchgeführt wurden in einer Zelle aufgelistet werden.
Mehrfach durchgeführte Tests sollen, wenn möglich, durch ein nachgestelltes (2x) , (3x), ... gelistet werden.

Das Ergebnis soll in der bereits existierenden Tabelle in Spalte I angeziegt werden, damit für alle anderen Nutzer dieser Tabelle eine gute Übersicht der bereits durchgeführten Tests dargestellt wird.

Geht das alles mit einer Pivot tabele?

Grüße
Dorian
Antworten Top
#4
Hier habe ich zum Verständnis nochmal die Datei angehängt. Sie ist etwas abgespeckt um die geheimhaltungspflichtigen Daten zu entfernen...
Aber alles wichtige ist noch drin...
Ich habe die Ergebnisspalte (Spalte I) Lila markiert, die gewünschten Ergebnisse reingeschrieben und den Bezug mit Pfeilen dargestellt.

Nochmals vielen Dank an alle die sich damit beschäftigen.

Hoffentlich könnt ihr mir hierbei helfen.


Angehängte Dateien
.xlsm   Test planing _Version 10.xlsm (Größe: 54,74 KB / Downloads: 7)
Antworten Top
#5
Hallöchen,

im Prinzip so, Du brauchst die Formel nur nach für die anderen beiden Tests erweitern.

Arbeitsblatt mit dem Namen 'Test organisation'
I
2
31x Test1
4
51x Test1
62x Test1

ZelleFormel
I2=WENN(SUMMENPRODUKT(($G$2:G2=G2)*(($J$1:J1)="Test 1"));SUMMENPRODUKT(($G$2:G2=G2)*(($J$1:J1)="Test 1")) & "x Test1";"")
I3=WENN(SUMMENPRODUKT(($G$2:G3=G3)*(($J$1:J2)="Test 1"));SUMMENPRODUKT(($G$2:G3=G3)*(($J$1:J2)="Test 1")) & "x Test1";"")
I4=WENN(SUMMENPRODUKT(($G$2:G4=G4)*(($J$1:J3)="Test 1"));SUMMENPRODUKT(($G$2:G4=G4)*(($J$1:J3)="Test 1")) & "x Test1";"")
I5=WENN(SUMMENPRODUKT(($G$2:G5=G5)*(($J$1:J4)="Test 1"));SUMMENPRODUKT(($G$2:G5=G5)*(($J$1:J4)="Test 1")) & "x Test1";"")
I6=WENN(SUMMENPRODUKT(($G$2:G6=G6)*(($J$1:J5)="Test 1"));SUMMENPRODUKT(($G$2:G6=G6)*(($J$1:J5)="Test 1")) & "x Test1";"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo schauan,

Danke für deine Antwort. Das kommt dem ganzen schon ziemlich nahe, ich habe nun lange (den ganzen Tag) herumprobiert. Leider schaffe ich es nicht nur die aufgeführten Tests zu zählen und wenn das Summenprodukt 0 ist, dann soll er auch nichts eintragen ("").

Weiterhin sind es nicht nur 3 Tests wie im Beispiel sondern ca. 10 Stück, wodurch die Formel natürlich am Ende sehr unübersichtlich werden wird. Daher denke ich immer noch, dass hier eine VBA die beste Lösung wäre, oder?

Ich komme aktuell nicht weiter. Als ich dachte es würde so funktionieren, da hat sich bei einem Test gezeigt, dass er nicht die Seriennummern vergleicht sondern bei einer eingabe einer anderen Seriennummer die Anzahl der Testläufe der anderen Seriennummer ändert.

Ich kann dir gern mal die richtige Datei per Mail zusenden, wenn du meinst das du die Lösung findest...?

Trotzdem schonmal vielen Dank für deine Hilfe.

Grüße
Dorian
Antworten Top
#7
Servus Dorian,

da Du eh schon eine xlsm-Mappe am Laufen hast, hier mal eine benutzerdefinierte VBA Funktion:

In ein allgemeines Modul kopieren:
Code:
Option Explicit
Public Function MyFunction(ByVal Nummer As Variant, _
                           ByVal Bezeichnung As Variant) As String
    Dim i As Long, l As Long, k As Long
    Dim von As Long, bis As Long
    Dim a As String, b As String
    Dim Dic As Object, e As Variant
   
    'Sicherheitsabfragen
    If Not IsArray(Nummer) Then Exit Function
    If Not IsArray(Bezeichnung) Then Exit Function
    If TypeName(Application.Caller) <> "Range" Then Exit Function
   
    von = 0
    bis = Application.Caller.Row
   
    a = Nummer(bis - 1)
    If a = "" Then Exit Function
   
    Set Dic = CreateObject("Scripting.Dictionary")
   
    For i = von To bis - 2
        If a = Nummer(i) Then
            b = Bezeichnung(i)
            If Dic.Exists(b) Then
                Dic(b) = Dic(b) + 1
            Else
                Dic(b) = 1
            End If
        End If
    Next i
   
    For Each e In Dic.Keys
        Select Case Dic(e)
            Case Is = 1
                If MyFunction <> "" Then MyFunction = MyFunction & ", "
                MyFunction = MyFunction & e
            Case Is > 1
                If MyFunction <> "" Then MyFunction = MyFunction & ", "
                MyFunction = MyFunction & e & " (" & Dic(e) & "x)"
        End Select
    Next e
   
    Set Dic = Nothing
End Function

und im Tabellenblatt so verwenden ...

Arbeitsblatt mit dem Namen 'Test organisation'
GHIJ
1Serial numberInfoPassed TestsTest
2170818-20530Test 1

ZelleFormel
I2=MyFunction([Serial number];[Test])
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2013
Diese Tabelle wurde mit Tab2Html (v2.6.1) erstellt. ©Gerd alias Bamberg

LG Gerd
[-] Folgende(r) 1 Nutzer sagt Danke an Bamberg für diesen Beitrag:
  • Dorian
Antworten Top
#8
Hallo Gerd alias Bamberg,

die Funktion hat super geklappt. Ich habe nur noch die Anzahl der Tests nach vorne geschoben und die Klammern entfernt. Jetzt ist alles Super und so wie es gedacht war.

Vielen vielen Dank.

:18:
Antworten Top


Gehe zu:


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