Avatar billede frederik_kromann Nybegynder
07. november 2004 - 14:56 Der er 12 kommentarer og
2 løsninger

Datosøgning med returnering af værdi

Hejsa!

Jeg har efterhånden fået hjælp til et par rimelig snedige ting, så der er åbenbart ikke de ting man ikke kan gøre i Excel så jeg prøver lige igen.

Jeg sidder med et større bogføringsark med én række for hver dato. I en bestemt kolonne skal jeg indtaste dagens dankort salg iflg. bankudskriften. Bankudskriften ligger i et andet ark. Idet dagens dankort salg bliver registreret senere skal jeg finde følgende teksstreng "Dankort-salg 035425-12.05-34" og returnere værdien to felter til højre. Den førnævnte tekstreng begynder altid med "Dankort-salg 035422-dag.måned-xx" og jeg aner ikke hvad xx betyder. Jeg tror ikke det er nok kun at søge efter dag.måned jeg mener også at 035422 fast skal med i søgning da det er entydigt for denne virksomhed. Der kunne jo være ind eller udbetalinger med dag.måned i teksfeltet. JEg håber virkelig der er nogen der kan hjælpe mig.

Opsummering:
En funktion der udfra værdien i datokolonnen søger i et andet ark efter en fast tekstreng (035422) samt værdien i datokolonnen og returnerer værdien 2 felter til højre.
Avatar billede kabbak Professor
07. november 2004 - 17:14 #1
Public Function Bankopslag(Kriterier As String, Opslagsliste As Range, ResultatKolonne As Integer)
Dim FKrit As Variant, L As Integer, R As Long, T As Long
Application.Volatile
L = Len(Kriterier)
R = Opslagsliste.Rows.Count
K = Opslagsliste.Columns.Count
For T = 1 To R
FKrit = ""
If Left(Opslagsliste.Cells(T, 1), L) = Kriterier Then
Bankopslag = Opslagsliste(T, ResultatKolonne)
Exit Function
End If
Next
Bankopslag = "Ikke fundet"
End Function

kaldes med

=Bankopslag("Dankort-salg 035425-" &TEKST(A1;"mm") &"." &TEKST(A1;"dd");Bank!A2:C12;3)

Hvor A1 er cellen med datoen
og
Bank!A2:C12

Arket Bank og oplysninger fra banken er i A2 til C12


ret til dine

husk at funktionen skal ligge i et modul
Avatar billede kabbak Professor
07. november 2004 - 17:16 #2
nå der var lidt unødvendigt, det er fjernet her

Public Function Bankopslag(Kriterier As String, Opslagsliste As Range, ResultatKolonne As Integer)
Dim L As Integer, R As Long, T As Long
Application.Volatile
L = Len(Kriterier)
R = Opslagsliste.Rows.Count
For T = 1 To R
If Left(Opslagsliste.Cells(T, 1), L) = Kriterier Then
Bankopslag = Opslagsliste(T, ResultatKolonne)
Exit Function
End If
Next
Bankopslag = "Ikke fundet"
End Function
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 07:01 #3
Det ser lovende ud, men den finder ikke noget. Jeg kunne dog godt mistænke mig selv for at have lavet noget forkert. Sådan funktionen ud:

=+bankopslag("Dankort-salg 035422-"&TEKST(E183;"mm")&"." &TEKST(E183;"dd");bank!C$2:C$500;3)

Sådan ser E83 ud: 25-06-2004
Sådan ser bank!C93 ud: Dankort-salg 035422-25.06-51

Men funktionen skriver "IKKE FUNDET"
Avatar billede kabbak Professor
08. november 2004 - 08:18 #4
bank!C$2:C$500 giver kun 1 kolonne, du skal vælge hele dataområdet i bank arket
du ber om kolonne 3, så skal den ihvertfald gå til F kolonnen

eks. bank!C$2:F$500
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 08:44 #5
Ok nu returnerer den værdier men kun for datoerne 05-08 i hver måned. DET er fandme mærkelig. Tekstrengen for 08.07 er f. eks. "Dankort-salg 035422-08.07-31" og for den 09.07 er den "Dankort-salg 035425-09.07-30" hvilket den ikke finder.

Ved du hvad det skyldes?
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 08:58 #6
Du skal ikke tage dig af at der står Dankort-salg 035422 for den ene dato og Dankort-salg 035425 i den anden. Det er mig der har skrevet forkert.
Avatar billede kabbak Professor
08. november 2004 - 09:49 #7
prøv at tjekke om der er et blank tegn (mellemrum) foran  Dankort-salg i arket bank,

hvis der er det læser den forkert.
Avatar billede kabbak Professor
08. november 2004 - 10:02 #8
TEKST(E183;"mm")&"." &TEKST(E183;"dd"); skal byttes om
til
TEKST(E183;"dd")&"." &TEKST(E183;"mm");
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 10:26 #9
Ohhh yea baby efter ombytning er den helt i vinkel. Det her er for vildt. Fagre nye lidt nørdede men alligevel totalt seje verden. Send mig lige et svar så er der en pose point og et par lovprisende ord med på vejen tusind tak for hjælpen - endnu engang.
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 10:33 #10
Dankort-salg 05.10 3569669 318499

Denne post betyder at et dankort er blevet kørt gennem "slæden". Problemet er at der kan forekomme flere poster på samme dag. Flere mennesker kan betale via "Dankort-slæden". Kan din nye funktion bare søge på "Dankort-salg 05.10" og lave en sum på det?
Avatar billede kabbak Professor
08. november 2004 - 10:33 #11
Undskyld min fejl, jeg læste ikke ordentlig, troede at formatet var mm.dd.

Men læste det hele igen og så fejlen.

Og et svar ;-))

kabbak
Avatar billede kabbak Professor
08. november 2004 - 10:43 #12
Public Function Bankopslag(Kriterier As String, Opslagsliste As Range, ResultatKolonne As Integer)
Dim L As Integer, R As Long, T As Long, Belob As Integer
Application.Volatile
L = Len(Kriterier)
R = Opslagsliste.Rows.Count
For T = 1 To R
If Left(Opslagsliste.Cells(T, 1), L) = Kriterier Then
Bankopslag = Bankopslag + Opslagsliste(T, ResultatKolonne)
End If
Next
End Function


sådan, nu summerer den, men så får du ikke vist "IKKE FUNDET", når der ikke er noget
Avatar billede kabbak Professor
08. november 2004 - 11:52 #13
en anden ting, hvordan styres året, som det er nu kan den ikke se forskel på årene.
Avatar billede frederik_kromann Nybegynder
08. november 2004 - 18:32 #14
SÅDAN, føler mig lidt som en abe der misbruger din tid, men det er fandme for fedt det her. Viste lige chefen hvad excel kunne nu - han var rimelig imponeret.

Omkring det med året det må du spørge bankerne om, der er jo en masse mærkelige tal som jeg ikke kan tyde i teksstrengen der søges på, måske bruger de det til noget.

For mig betyder det ikke noget. Når jeg har fået den til at hente de værdier jeg har brug for kan jeg jo slette formlen og der hvor den henter værdierne og indlæse næste år og bruge samme formel når jeg når så langt. Men tak for venligheden.

Jeg kan se det er dig der også er på spil med mit forrige problem. Omkring en udvidelse til også at søge videre end fra kolonne A-Z tror du det er muligt?
http://www.eksperten.dk/spm/558214
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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