/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
If funktion i Excel
Fra : David2000
Vist : 1211 gange
200 point
Dato : 03-12-09 12:13

Hej,

Er der nogen der kan hjælpe mig med følgende:

I kolone A1 til A20 har jeg tallene 1 til 20 og
I kolone B1 til B20 har jeg A til T.

Og hvis jeg skriver 1 i celle D1 så skal der stå A i celle E1 og
hvis i D1 står tallet 2 så skal der stå B i celle E1 osv.

Mvh
David2000

 
 
Kommentar
Fra : CADmageren


Dato : 03-12-09 12:44

Du skal bruge CHAR funktionen. Husk at ASCII A svarer til 65

Så koden må blive noget ala : =CHAR(E1+64)


mvh
Michael Christoffersen



Kommentar
Fra : Jimmy17


Dato : 03-12-09 12:45

Hvis du vil bruge If til denne, så skal den se sådan ud:

=HVIS(D1=1;"A";HVIS(D1=2;"B";HVIS(D1=3;"C";HVIS(D1=4;"D";HVIS(D1=5;"E";HVIS(D1=6;"F";HVIS(D1=7;"G";HVIS(D1=8;"H";HVIS(D1=9;"I";HVIS(D1=10;"J";HVIS(D1=11;"K";HVIS(D1=12;"L";HVIS(D1=13;"M";HVIS(D1=14;"N";HVIS(D1=15;"O";HVIS(D1=16;"P";HVIS(D1=17;"Q";HVIS(D1=18;"R";HVIS(D1=19;"S";HVIS(D1=20;"T";""))))))))))))))))))))

Bruger du engelsk excel, skal du lige erstatte alle hvis med if

Kommentar
Fra : Jimmy17


Dato : 03-12-09 12:51

Den linie skal forresten sættes ind i E1
Så trækker du linien ned til E20, så den selv retter tal i formlen til.


Kommentar
Fra : CADmageren


Dato : 03-12-09 13:02

Engelsk:
CHAR(E1+64)
Dansk:
TEGN(E1+64)



Kommentar
Fra : David2000


Dato : 03-12-09 13:25

Jeg ville helst undgå at bruge så mange "hvis"er.
Er der ikke andre nemmere løsninger?
Noget lidt mere professionelt.
Altså værdien i celle A og B i stedet for "1" og "A".

Kommentar
Fra : CADmageren


Dato : 03-12-09 14:04

Hej David

Jeg forstår ikke din kommentar

Engelsk:
CHAR(E1+64)
Dansk:
TEGN(E1+64)

Er da ret simpelt, og kræver ingen hvisser.



Kommentar
Fra : David2000


Dato : 03-12-09 14:53

Hej CADmageren,

Det med 1 til 20 var bare et eksempel. Det kunne lige så godt være celle værdien A1= "Casper"
og B1 = "45678".

Og hvis jeg skriver CASPER i celle D1 så skal der stå 45678 i celle E1.
Altså E1=B1 hvis D1=A1

og E1= B2 hvis D1=A2 osv.

Kommentar
Fra : CADmageren


Dato : 03-12-09 15:59

OK, så vil jeg anbefale at du laver et separat skema. Du kan eventuelt bruge et skjult ark hvor du gemmer oplysningerne.

Hernæst skal du bruge vlookup funktionen. Prøv at bruge Wizarden.



Kommentar
Fra : CADmageren


Dato : 03-12-09 16:04

Nu har du jo placeret dit sp i VB gruppen, så en vba kode kunne være:

Public Function SpecialLookup(sNavn As String) As String
Select Case UCase(sNavn)
Case "CASPER": SpecialLookup = "45678"
Case "ULRIK": SpecialLookup = "45679"
Case "NIELS": SpecialLookup = "45680"
Case "VIGGO": SpecialLookup = "45690"
Case Else: SpecialLookup = "-"
End Select
End Function

Men jeg vil stadig anbefale at du bruger VLookup.



Kommentar
Fra : 1975


Dato : 06-12-09 09:44

Åh altså det jeg har brug for men jeg forstår ikke det med slå op...
Jeg kan ikke forstå hvordan jeg skal skrive koden i cellen....

kan jeg få det helt upindet lidt ligesom det med alle hvisserne...som forøvrigt ikke virker da der kun må være 7 indlejerede hvis funktioner, ihvertfald på min excel version...?

Kommentar
Fra : Jimmy17


Dato : 06-12-09 10:02

Til 1975

Så har du en 2003 version eller tidligere
For ja, de har en begrænsning på antal hvis variabler i en celle

Jeg er endnu ikke mødt på grænse i 2007 version. Men okay, kommer sjældent over 10-15 beregninger i en celle

Kommentar
Fra : CADmageren


Dato : 06-12-09 21:28

www.cadmageren.dk/vlookup.xls

Håber dette eksempel kan hjælpe dig lidt på vej



Kommentar
Fra : David2000


Dato : 07-12-09 10:16

Findes der ikke en anden løsning med FOR og IF?
Hvad med hvis formlen skal anvendes til A1 til A1000 og B1 til B1000.
Jeg kan jo ikke skrive i 1000 felter?

Altså uanset det der står i celle A1 (CASPER, Løve eller 459) eller celle B1 (45678, "F" eller "asdasd"), i ARK1.

Så når jeg i ARK2, skrive tekst eller tal eller... i celle D1 der svar til A1-A1000(i ARK 1) så i celle E1 (ARK2) skal stå samme tekst eller tal der står i celle B1-B1000 (ARK1).



Accepteret svar
Fra : IBM760

Modtaget 200 point
Dato : 07-12-09 10:39

David - hvorfor ikke bruge funktionen LOPSLAG?

Løsningen på dit originale spørgsmål
Citat
I kolone A1 til A20 har jeg tallene 1 til 20 og
I kolone B1 til B20 har jeg A til T.

Og hvis jeg skriver 1 i celle D1 så skal der stå A i celle E1 og
hvis i D1 står tallet 2 så skal der stå B i celle E1 osv.

Kunne løses ved, at i celle E1 indsættes følgende =LOPSLAG(D1;A1:B20;2;FALSK)
og hvis du har brug for 5000 linier hedder funktionen =LOPSLAG(D1;A1:B5000;2;FALSK)



Godkendelse af svar
Fra : David2000


Dato : 07-12-09 10:58

¤¤¤¤¤¤ Jackpot ¤¤¤¤¤¤¤

Tak for svaret IBM760.

Kommentar
Fra : 1975


Dato : 07-12-09 11:01

Tak Cad det var rigtigt dejligt med den lille fil :)

Kommentar
Fra : IBM760


Dato : 07-12-09 11:02

Selv tak!

Kommentar
Fra : CADmageren


Dato : 07-12-09 11:02

Tja, vopslag eller lopslag... Resultatet er vel det samme

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177413
Tips : 31962
Nyheder : 719565
Indlæg : 6407803
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste