Avatar billede BentTh Juniormester
02. marts 2011 - 14:35 Der er 3 kommentarer og
1 løsning

Excel - hent den rigtige pris i prisregister

Problem med at hente den rigtige pris i et prisregister.
Jeg har følgende formel i celle E9 i et indtastningsskema.
=HVIS(ER.FEJL(LOPSLAG(C9;Pris!A$7:F$350;2+
LÆNGDE(D9);FALSK));"";LOPSLAG(C9;Pris!A$7:F$350;3+
LÆNGDE(D9);FALSK))
I indtastningsskemaet celle C9 indtastes en kode (V1234),der v.h.a. formlen i celle E9 henter prisen 111,11 til celle E9 i indtastningsarket, samt teksten fra samme række i prisregisteret, til celle B9.
Ud over koden i kol. C, kan der evt. indtastes en kode i kol. D.
Koden består af et bogstav, og kun ET (og ikke et bogstav+blank)
Koden "E" henter pris i kol. D i prisregisteret (eks. 234,11)
Koden "K" henter pris i kol. E, "B" i F, "T" i G,  og sidst: "L" i H

Indtastningssiden:
kol.:>A  B                          C        D        E F
9  (tom)tekst hører til V1234      V1234        111,11 kr
10      tekst hører til V1234      V1234 E      234,11 kr
11      tekst hører til V1236      V1236        174,25 kr
12      tekst hører til J9876      J9876        186,24 kr
13      tekst hører til V1235      V1235        119,35 kr
14      tekst hører til L17          L17          164,98 kr


    prisregister                           
        Kode>>>>>          (blank)      E        K
    Beh.kode    Beh.tekst    pris 1    pris 2    pris 3
kol: >>  A      B                      C      D      E 
7    V1234  tekst hører til V1234  111,11    234,11    333,33   
8    V1235  tekst hører til V1235  119,35    295,11    334,66   
9    V1236  tekst hører til V1236    174,25    267,11    339,21
10      ABC    tekst hører til ABC    167,44    284,23    311,56
11    L17      tekst hører til L17    164,98    231,65    342,11
12    J9876  tekst hører til J9876    186,24    222,22    355,11
Avatar billede kabbak Professor
02. marts 2011 - 16:06 #1
så skal vi vist over i makro programmering, her en brugerdefineret funktion, den sættes i et modul, så den  gælder for hele projektmappen.

tryk ALT +F11 vælg insert module, sæt koden derind, luk på det øverste X i øverste højre hjørne, når du har sat koden ind.

Public Function Prisgruppe(Gruppe As Range) As Integer
'E K L
    Select Case UCase(Gruppe)
    Case "E"
        Prisgruppe = 1
    Case "K"
        Prisgruppe = 2
    Case "L"
        Prisgruppe = 3
    End Select

End Function


formlen bliver så
=HVIS(ER.FEJL(LOPSLAG(C9;Pris!A$7:F$350;2+
Prisgruppe(D9);FALSK));"";LOPSLAG(C9;Pris!A$7:F$350;2+
Prisgruppe(D9);FALSK))
Avatar billede BentTh Juniormester
02. marts 2011 - 23:26 #2
Det er fint.
Der var lidt med at hente prisen i den rigtige kolonne, men her har jeg ændret 2 til 3, og så fungerer det godt.
Der er lige problemet med mere end en karakter i kolonne D, og det andet: returnering af tilhørende tekst i prisregisteret vises i indtastningsskemaet i kolonne B (A er tom (anvendes til andet formål))
BT
Avatar billede BentTh Juniormester
31. maj 2011 - 07:43 #3
må jeg bede om et svar?
BT
Avatar billede kabbak Professor
31. maj 2011 - 16:30 #4
;-)
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