Avatar billede tonnym Nybegynder
10. marts 2009 - 15:36 Der er 2 kommentarer og
1 løsning

3vejs lookup

Efter at have søgt rundt på nettet og fundet lidt omkring index og match, men alligevel ikke den rigtige løsning prøver jeg lige her.

Jeg har et udtræk fra mit system som indeholder et beløb, overførselsdato og forretnings nr.
Beløb, Overførselsdato, forretnigns nr.

Ud fra disse 3 oplysninger vil jeg gerne finde et check nr. på et dataudtræk fra min bank.
Dataudtrækket fra banken indeholder beløb, valørdato (dato for hævningen og ikke overførselsdatoen fra systemet!) og forretnings nr. samt et check nr.
Beløb, Valørdato, Forretnings nr., Check nr.

Jeg vil så godt matche præcist på beløb og forretnings nr. mens match på datoen skal være den valørdato som er ældre end overførsels datoen - tættest på, og så hente check nr. frem.

Altså noget i stil med (beløb=beløb) & (forretnings nr. = forretnings nr.) & (overførselsdato >= valørdato) ud fra de data vil jeg så hente check nr. lidt i lookup stil bare med 3 kriterier.

Har som sagt kigget på index / match samt arrays, men kan ikke få dem til at virke som lookup funktionen...

Nogle forslag???
Avatar billede kabbak Professor
10. marts 2009 - 17:35 #1
=SUMPRODUKT((A2:A1000=H2)*(B2:B1000>=I2)*(C2:C1000=J2)*D2:D1000)

A kolonnen = beløb
B kolonnen = valørdato
C kolonnen = ForretningsNr
D kolonnen = check nr

H2 = det søgte beløb
I2 = overførsels dato
J2 = ForretningsNr

Bemærk at alle områder skal være lige store og den virker ikke på hele kolonner.
Avatar billede tonnym Nybegynder
11. marts 2009 - 10:45 #2
Den virker fint, hvis der så kun er et resultat.

hvis man ændre (B2:B1000>=I2) til (B2:B1000<=I2) så viser den det rigtige resultat, så fremt der kun er et valg!

Men hvis der i dataene A:D er flere ens beløb, på samme forretningsnr, med datoer som er mindre end den søgte overførselsdato, så summere den - meget naturligt jf. formlen - check numrene sammen.

Er der nogen anden formel som kan bruges til et enkelt opslag der ikke summerer noget sammen. Det jeg søger er resultatet tættest på overførselsdatoen - i tilfælde at der stadig er flere muligheder vil "bank data / A:D" være sorteret og det første resultat kan være lige så godt som det sidste...

Så hvis jeg søger 100kr. den 5/1-2009 på forretning 1234, og der i dataene findes liner/poster med 100kr. ** 4/1-2009 ** 1234 og 100kr. ** 3/1-2009 ** 1234 - så vil jeg bare have checknr. fra den 4/1-2009.
Avatar billede tonnym Nybegynder
16. marts 2009 - 15:00 #3
lukker... ingen løsning fundet - laver noget vba istedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester