• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gegevens koppelen met variabele criteria Datum

Status
Niet open voor verdere reacties.

TheWho

Gebruiker
Lid geworden
26 jan 2010
Berichten
17
Goedemiddag,

Ik ben bezig met een analyse van wat gegevens maar loop nu tegen een probleem aan waar ik geen oplossing voor heb gevonden. Ik heb een database met meerdere werkorders. Elke werkorder kan meerdere statussen hebben. Nu wil ik op basis van een bepaalde status zien op welke datum die het eerst op die status is gezet. Dus het criteria Status beoordelen coordinator icm de SvcCallId moet de datum weergeven zoals in het voorbeeld. De output zoals ik het bijvoorbeeld terug wil zien is te zien in het tweede tabblad in kolommen F en G.

Ik ben benieuwd naar jullie ideeën!Bekijk bijlage voorbeeld.xlsx

Groet,
 
Formule in F2 plaatsen, daarna met de cursor in de formulebalk en afsluiten met Ctrl+Shift+Enter.
Code:
=ALS.FOUT(INDEX(Bron!$E$2:$E$23;VERGELIJKEN(A2&"Status beoordelen coordinator";Bron!$B$2:$B$23&Bron!$D$2:$D$23;0));"")

oh ja, zet de berekening op automatisch in de opties van Excel.
 
Werkt perfect, dankjewel! Toch maar eens investeren in tutorials die gaan over het werken met de index functie! Het blad stond trouwens op handmatig, anders werd het bestand erg traag..!
 
Formule in F2 plaatsen, daarna met de cursor in de formulebalk en afsluiten met Ctrl+Shift+Enter.
Code:
=ALS.FOUT(INDEX(Bron!$E$2:$E$23;VERGELIJKEN(A2&"Status beoordelen coordinator";Bron!$B$2:$B$23&Bron!$D$2:$D$23;0));"")

oh ja, zet de berekening op automatisch in de opties van Excel.

Nog even hier op terug komend. Ik heb de formule dus toegepast, werkt prima. Alleen is het bestand zeer traag nu. Het is qua opzet gelijk als het voorbeeld maar bevat de bron ongeveer 15000 rijen en 17 kolommen (kolommen bevatten gegevens zoals werknemers, substatus en andere data die ik niet gebruik in de berekening). Het blad met de berekening bevat ongeveer 2000 regels (orders) met de berekening van enkele gegevens zoals de eerste datum status beoordelen coordinator en nog enkele soortgelijke kolommen.

De index formule zoekt alleen in de kolommen die relevant zijn toch? Want daar kan ik dan geen efficientieslag in halen. Moet ik selectiever zijn met de dataverwerking, of zijn er andere handige oplossingen om de snelheid te vergroten? Ter indicatie, opslaan duurt nu ongeveer een kwartier-twintig minuten.
 
als de belangrijkste index gesorteerd is dan is er (zeker in vba) een snelle function te maken.
 
Matrixformules vertragen enorm op zo'n bereik.

Zet onderstaande eens in een standaard module.
Code:
Function status(SvcCallid As Range, opname As Range) As String
Dim i As Long, sn
sn = opname
 For i = 1 To UBound(sn)
   If sn(i, 2) = SvcCallid And sn(i, 4) = "Status beoordelen coordinator" Then
     status = sn(i, 5)
     Exit For
   End If
 Next i
End Function

In cel F2 zet je:
Code:
=status(a2;Bron!$a$5:$e$23)

Nog beter is een tabel maken van de bron; dan krijg je zoiets.
Code:
=status(A2;Tabel1[#Alles])
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan