• 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.

bestanden samenvoegen

Status
Niet open voor verdere reacties.

GBSpijkers

Gebruiker
Lid geworden
17 nov 2009
Berichten
40
ik ben bezig om te kijken naar doorlooptijden op de spoedeisende hulp. nu wil ik de tijden dat patienten wachten op labuitslagen koppelen aan de tijd die ze wachtend op de spoedeisende hulp doorbrengen.
als ik 1 identificatie code zou hebben die uniek is en in beide bestanden voorkomt kan het heel makkelijk met een Vlookup functie. nu is het probleem dat ik rekening moet houden met meerdere identificatoren het patientennummer, het tijdstip dat ze aankomen op de spoedeisende hulp en het tijdstip dat ze weggaan van de spoedeisende hulp. alle labuitslagen(kunnen er meerdere zijn) van die patient die zijn afgenomen tussen de aankomst en vertrek tijd wil ik koppelen. is er een functie die meerdere dingen kan controleren en dan een waarde weergeven zoals Vlookup? of moet ik hiervoor echt in visual basics gaan werken?

hou hierbij rekening dat niet elke patient lab heeft en sommige patienten meerdere dingen hebben(huidige maximum is 4 in mijn lijst) en dat sommige patienten gedurende 1 maand of soms zelfs dag meermalen op de Spoedeisende hulp komen.

helaas kan ik nog geen voorbeeld plaatsen omdat ik nog een deel van de gegevens mis. maar het is een probleem waar ik nu al van kan zien dat opgelost moet worden en ik zou graag al een oplossing willen hebben liggen op het moment dat ik de gegevens heb zodat ik gelijk verder kan.
 
Laatst bewerkt:
Ik ziet niet waarom het om verschillende bestanden zou moeten gaan. Realiseer je dat de beste koppelingsmogelijkheden binnen een excel-werkboek (bestand) tusssen werkbladen bestaan. Met afzonderlijke bestanden wordt het onnodig gecompliceerder.

Onduidelijk in je vraag is of je dit wil opzetten per dag, per week of per patiënt.

Wil je een konkreet antwoord dan is voor ons op zijn minst de opzet (zonder gegevens) van je systeem nodig om de vraag zinvol te kunnen beantwoorden.
 
als ik 1 identificatie code zou hebben die uniek is en in beide bestanden

Het patiënten nr is toch uniek?
Hoe zien die beide bestanden er uit.(Wat staat erin)
Wat wil je nu exact in beeld brengen?

Heb je iets aan bijgaand voorbeeld?
 

Bijlagen

1 patient kan meermalen op de Spoedeisende hulp komen gedurende 2 maanden daarom is het patientnummer(toogbonnummer) niet per definitie uniek. de enige nummers die ik heb die uniek zijn, zijn het wachtnotanummer in kolom AF in blad 1 en het lab registratie nummer in kolom B in blad 2. alleen deze zijn door aparte systemen gegenereerd en komen dus niet overeen.

en een tweede uitdaging is dat 1 patient meerdere lab aanvragen tijdens 1 bezoek aan de spoedeisende hulp kan hebben.

helaas heb ik op dit moment alleen gegevens van het lab van september oktober en van mijn patiënten van april. die van de patiënten van september oktober moet ik nog krijgen.
 

Bijlagen

Ik werk zelf op een lab in een zhs en een patienten nr is wel degelijk uniek!!!
Er bestaan geen 2 patienten met het zelfde nummer!!

Je zou er eventueel een datum (en tijd?) aan een aanvraag kunnen koppelen
 
je hebt gelijk een patientnummer is een voor de patient uniek nummer, maar in de database kan 1 patient meermalen voorkomen. hierdoor is dit nummer in de database niet uniek
 
Als je van je bijlage een xls bestand maakt kunnen er meer potentiële helpers naar kijken.
 
hieronder een xls versie maar houd er rekening mee dat sommige cellen in blad 1 nu errors bevatten omdat mijn functies meer dan 7 lagen bevat en een XLS document maar 7 lagen aan kan. deze kan je in principe gewoon negeren.
 

Bijlagen

Suggestie:

vereenvoudig wat formules in sheet1 bijv. :

kolom J: =INTEGER(UUR(I2)/8)
kolom O: =INTEGER(MINUUT(N30)/10)

kolom AL: =ALS(ISFOUT(VIND.SPEC(K26;"chr|ogh|KNO|Gyn|PLC|mnd|URL|NRC|ort"));"";AJ26)
kolom AM: =Als(AL26="";"";AK26)
kolom AN: =Als(AL26="";AJ26;"")
kolom AO: =Als(AL26="";AK26;"")

Ik twijfel nu over de zin van meer dan 7 nivo's geneste als-funktie
 
Laatst bewerkt:
de 2e oplossing zou wel werken de 1e helaas niet omdat de diensten wel 8 uur duren maar niet om 0:00 beginnen. hierdoor heb ik precies een verschuiving van een half uur in de tijd. maar dit is in principe nit mijn probleem. zelfs de meer dan 7 nested als functies zijn dat omdat ik text aan het omzetten ben naar getallen en daar geen logica in zit en er meer dan 7 opties zijn.

dat buiten beschouwing gelaten is het mogelijk of doormiddel van een formule of doormiddel van een macro om toch cellen aan elkaar te koppelen?
 
Laatst bewerkt:
Het is mij niet duidelijk welke cellen aan wlke andere gekoppeld moeten worden.
Ik zie op basis van je eerdere informatie geen overeenkomsten in die verschillende kolommen. Wat zie ik over het hoofd ?
Geef eens voorbeeld uit je tabel van het resultaat van 1 zo'n koppeling op basis de gegevens in de verschillende kolommen.

daar geen logica in zit
dat zou je nog kunnen verbazen.
 
Laatst bewerkt:
ik heb een lijst met labuitslagen, deze horen allemaal bij patienten die tussen 1 september en 1 november op de spoedeisende hulp zijn geweest. deze moeten gekoppeld worden aan dezelfde patient die op diezelfde dag is geweest. nu heb ik op dit moment alleen maar gegevens uit april en die uit sept oktober voor de patienten moeten nog komen.

zodra ik dat bestand heb zal ik die eraan koppelen en is het een stuk makkelijker te begrijpen maar dit is alles wat ik op dit moment heb.
 
Post eens een fictief bestand alleen relevante kolommen
Je hebt nu in sheet 1 44 kolommen waarvan er misschien maar 5 relevant zijn.
Hetzelfde geldt voor sheet 2

Verander de datums van een van de sheets zodat er ook echt wat samen te voegen is.
Vul handmatig in wat je wilt. Geef deze cellen een kleurtje en leg evt uit waar dit hier moet staan en niet ergens anders.
Zo wordt het voor ons duidelijker welke kolommen we met elkaar moeten vergelijken.
 
voorbeeld

ik moet dus een macro(of functie) die als nummers uit de gele kolom in blad 1=gele kolom in blad 2 en rode kolom blad 2 op dezelfde regel zit tussen de getallen in de rode kolommen in blad 1.
als aan deze eisen in voldaan moet hij de Cellen uit blad 2 overkopieren naar blad 1 in de corresponderende regel in de eerste lege cel na kolom AS. en moet hij verder zoeken of er nog meer labuitslagen zijn die ook aan de criteria voldoen en deze gegevens daar ook achter kopiëren.

ik hoop dat het duidelijk is. mochten er nog vragen zijn hoor ik het graag
 

Bijlagen

Dat kan met
Code:
Sub tst()
  sq = Sheets("Sheet2").[A1].CurrentRegion.Columns(1).Resize(, 3)
  For j = 2 To UBound(sq)
    With Sheets("Sheet1").Columns(30).Find(sq(j, 1))
      If sq(j, 3) >= .Offset(, 6) And sq(j, 3) <= .Offset(, 7) Then .Offset(, 15).Resize(, 15) = Sheets("Sheet2").Cells(j, 1).Resize(, 15).Value
    End With
  Next
End Sub
Maar als er verschillende labuitslagen per patiënt zijn wordt de patiëntregel in blad1 wel erg lang en onoverzichtelijk.
Een deel van de door jou gebruikte formules lijkt mij overigens overbodig: zowel een tekstkolom als een getalkolom voor eenzelfde gegeven.
 
Laatst bewerkt:
heel erg bedankt zoals hij eruit ziet moet dat inderdaad wel werken.

even voor de zekerheid: ik moet deze macro in een nieuwe module zetten en gewoon 1 keer runnen en dan zou die klaar moeten zijn toch?

en wat betreft de aantallen variabelen: voor het statistiekprogramma wat ik straks moet gebruiken moet ik alle variabelen als getal weergeven. dus met het overzetten in dat programma zullen alle geschreven variabelen worden overgenomen door de corresponderende getal variabele. vandaar dat het nu nog zo onoverzichtelijk is. verder wil ik ondertussen een aantal variabelen anders op gaan bouwen zodat ik ze samen kan voegen.
 
Nee, deze macro werkt voor 1 labuitslag; dan komen de gegevens achter kolom AS. De volgende komen met deze macro op dezelfde plaats te staan (ze overschrijven dus).
Je hoeft de macro niet in een aparte module te zetten. Zet hem gewoon in de module van blad1.
Is het overigens wel nodig alle gegevens van Blad2 naar Blad1 over te zetten ?

Het omzetten van de gegevens naar een statistisch te bewerken blad kan veel eenvoudiger met een simpele macro. Dan blijft je werkblad veel kolommen/formules bespaard en is daardoor ook veel sneller.
 
Laatst bewerkt:
is het mogelijk dat hij de nieuwe erachter zet bijvoorbeeld kopieerd naar de eerste lege cel na AS.

het is niet nodig, in principe zullen nagenoeg alle resultaten gebruikt worden. alleen het kan zijn dat door dat sommige niet gebruikt zullen worden. deze moeten toch voor de analyse geëxcludeerd worden dus dat is dan bij deze gelijk gedaan ;)
 
ik wil namelijk handmatig kijken naar degene die meer dan 1 labuitlsag hebben welke data ik als leidend ga gebruiken. dit is afhankelijk van om wat voor uitslag het gaat. helaas moet ik dit met de hand in de patientendossier controleren.
 
alle labuitslagen per patiënt
Code:
Sub tst()
  sq = Sheets("Sheet2").[A1].CurrentRegion.Columns(1).Resize(, 3)
  For j = 2 To UBound(sq)
    With Sheets("Sheet1").Columns(30).Find(sq(j, 1))
      If sq(j, 3) >= .Offset(, 6) And sq(j, 3) <= .Offset(, 7) Then sheets("Sheet1").cells(j,columns.count).end(xltoLeft).offset(,1).Resize(, 15) = Sheets("Sheet2").Cells(j, 1).Resize(, 15).Value
    End With
  Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan