Avatar billede TheLibrarian Mester
19. september 2012 - 13:43 Der er 6 kommentarer

HVIS/ OG funktion med flere sande værdier

Jeg har to rækker af tal, som angiver henholdsvis ønskede og faktiske kompetencer. Der angives i hver kolonne et tal mellem 0 og 4, dvs. at der er 25 mulige kombinationer.

Jeg har brug for en metode til at omsætte disse informationer til én kode i én kolonne - fx. kan 2 for ønsket kompetence med 3 for faktisk kompetence omsættes til 'N' og så fremdeles.

Jeg har kigget på denne funktion =HVIS(OG(F5=2;G5=3);"N";"")
men hvordan får jeg den udvidet, så den kan rumme alle de 25 kombinationsmuligheder?  Eller er der en helt anden løsning som er mere hensigtsmæssig?
Avatar billede supertekst Ekspert
19. september 2012 - 13:52 #1
Via VBA - brugerdefineret funktion..
Avatar billede TheLibrarian Mester
19. september 2012 - 14:08 #2
Kan du være lidt mere specifik?  Jeg har ikke den store erfaring med VBA.
Avatar billede supertekst Ekspert
19. september 2012 - 14:25 #3
Skal det udføres automatisk - d.v.s. kolonnerne F & G traverseres og bogstavet sættes i H - eller via indtastning af en funktion, der udfører makroen?
Avatar billede TheLibrarian Mester
19. september 2012 - 14:37 #4
Automatisk - og på et andet ark end der hvor værdierne indtastes.
Avatar billede supertekst Ekspert
19. september 2012 - 14:58 #5
Dim antalRækker As Long, ræk As Long
Dim t1 As Integer, t2 As Integer, t3 As Integer, bogstav As String

Const kolonneArk2 = 2                              '<<-- Justeres
Public Sub omsætKompetance()
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = 1 To antalRækker
        t1 = Range("F" & ræk)
        t2 = Range("G" & ræk)
        t3 = (t1 * 5) + 1 + t2
        bogstav = Chr(64 + t3)
       
        Sheets(2).Cells(ræk, kolonneArk2) = bogstav
    Next ræk
End Sub
Avatar billede anlu Nybegynder
20. september 2012 - 23:22 #6
Jeg tillader mig lige at blande mig med et forslag som afhængig af dit behov enten er vældig smart eller måske slet ikke giver mening:

Hvis dine 25 kombinationer i virkeligheden går på at sammenligne ønsket niveau med faktisk niveau og der i virkeligheden kun er få grupper, fx dem hvor ønsket < faktisk, dem hvor ønsket = faktisk og dem hvor ønsket > faktisk, kan du lave betingelsen på difference:
Eks:

=HVIS(F5-G5<0;"N";HVIS(F5=G5;"x";"y"))

Hvis du blot er ude efter at de 25 kombinationer skal mappes til 25 forskellige bogstaver som supertekst's løsning giver, kan du i øvrigt også klare dig uden VBA men efter samme princip:

= TEGN(65+F5*5+G5)
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