Avatar billede moca68 Nybegynder
15. april 2015 - 17:28 Der er 13 kommentarer og
1 løsning

Kan min "hvis sætning" laves på en anden måde?

Jeg ønsker at indtaste data i celle A1 og A2.
I cellen B1 skal der retures et resultat der afhænger af data i A1 og A2.
B1 skal lave et lopslag på A2 i en navngivet fil i den fane som A1 fortælle

Eks:
A1: "SE"
A2: "X"
B1: =HVIS($A1="SE";LOPSLAG($A2;'[filnavn.xlsx]SE'!$1:$1048576;20;FALSK);0)

B1 vil nu returnere med indholdet i kolonne 20 i rækken med X fra "filnavn.xlsx" fanen "SE"

Når jeg nu ønsker at lede i en anden fane:

A1: X
A2: "HER"
B1: =HVIS($A1="SE";LOPSLAG($A2;'[filnavn.xlsx]SE'!$1:$1048576;20;FALSK);HVIS($A1="HER";LOPSLAG($A2;'[filnavn.xlsx]HER'!$1:$1048576;20;FALSK);0))

Nu vil resultatet findes i samme fil på samme sted men bare i fanen "HER".

Det virker fint, men da der er 19 forskellige faner i filen, så skal jeg lave 19 forskellige "hvis'er". Det får filen til at fylde voldsomt meget, samtidig med at det sætter begrænsninger.

Jeg kan ikke se at det er muligt at lade fanen være en variable.
Det er her mit spørgsmål kommer: Er det muligt at lave det på en smartere/bedre måde, der ikke får filen til at bliver 3 Mb stor?

PS. Jeg bruger Excel 2010, men problemer er der også i Excel 2013.

Glæder mig til at høre fra alle exeperterne :-)
Avatar billede kim1a Ekspert
15. april 2015 - 18:09 #1
Funktionen indirekte er din ven.

indirekte er en funktion som "går forrest" og derfor kan den skabe den ordlyd du har brug for at slå op i.
Avatar billede moca68 Nybegynder
15. april 2015 - 19:07 #2
Den ser spændende ud. Kender ikke den ikke.
Har lige læst lidt på Syntaksen, men synes ikke lige jeg kan se hvordan jeg kan bruge den i mit eksempel. Kan du afklare det?
Tak.
Avatar billede kim1a Ekspert
15. april 2015 - 19:28 #3
Ja den driller også mig meget, syntaksen på indirekte - jeg tror iøvrigt den kan vende på flere måder. Jeg ville skrive Noget i retning af:
B1: =indirekte("LOPSLAG($A2;'[filnavn.xlsx]"&A1&"'!$1:$1048576;20;FALSK)"

På den måde vil opslaget foregå i det faneblad du skriver i A1 og resten er en fast tekst. Udfordringen er tit at man måske har brug for at tilføje en linje i sin opslagsliste og her opfatter Excel det ikke længere som en henvisning og retter derfor ikke i referencen.
Avatar billede acore Ekspert
15. april 2015 - 20:09 #4
I er på rette spor, men ikke helt.

Det, som INDIREKTE gør, er, at det laver en tekst om til en celle-reference, der kan indsættes i en formel.

Det lyder banalt, men er meget brugbart.

Et eksempel:

I celle A1 har vi rækken (fx 17) og i celle A2 har vi kolonnen (fx C)

Nu ønsker vi at hente indholdet af den celle, som rækken og kolonnen i A1 og A2 peger på.

Det kan gæres med INDIREKTE(A2&A1).

A2 og A1 danner tekststrengen A17, som er den celle vi vil hente. Og det bruger vi så INDIREKTE til.

Så du skal have fat i noget i stil med

LOPSLAG($A2;INDIREKTE("'[filnavn.xlsx]"&A1&"'!$1:$1048576");20;FALSK)
Avatar billede moca68 Nybegynder
15. april 2015 - 20:57 #5
Jeg kan ikke se at det virker.
Hvis jeg skriver dit forslag direkte ind, så giver det ikke noget resultat. Med naturligvis det rigtige filnavn.
Den ved jo ikke hvad den skal søge efter når "$A2" er placeret inden for klammerne. Selv når jeg flytter og tilføjer klammer, så kan jeg dælme ikke få det til at virke
Avatar billede moca68 Nybegynder
15. april 2015 - 21:00 #6
ascore: Jeg prøver lige det af du skriver
Avatar billede moca68 Nybegynder
15. april 2015 - 21:03 #7
Det ser ud til at virke :-)
Fantastisk!
Avatar billede moca68 Nybegynder
15. april 2015 - 21:08 #8
Jubii. Det virker lige som jeg ønsker. Hvis I vidste hvor mange timer jeg har brugt på at løse det. Hurra for eksperten.dk og for jer der har hjulpet.
TAK
Avatar billede acore Ekspert
15. april 2015 - 21:14 #9
Nej, men det gør det. Der er nok bare et par småting, der skal rettes til.

Jeg har testet og med

=LOPSLAG($A2;INDIREKTE("[filnavn.xlsx]"&A1&"!$1:$1000");20;FALSK)

virker det. Jeg havde filnavn.xlsx åben.
Avatar billede acore Ekspert
15. april 2015 - 21:17 #10
Det var godt det hjalp :)

Du skal nok lige øve dig på at give point, hvis du vil undgå at gøre nogen sure. Du har givet dig selv point ;)
Avatar billede moca68 Nybegynder
15. april 2015 - 21:26 #11
Ups. Ja det var sandelig ikke meningen. Tænkt at man kan det.
Jeg prøver lige at finde ud af hvordan det skal gøres.
Håber jeg kan rette fejlen
Avatar billede acore Ekspert
15. april 2015 - 21:37 #12
Tror ikke du kan rette det og det er ikke vigtigt for mig
Avatar billede moca68 Nybegynder
15. april 2015 - 21:40 #13
Ej. Hvorfor er det at give point så kompliceret.
Det ser ud til at du skal skrive et svar, som jeg så kan acceptere og dermed give point.
Håber det kan lade sig gøre nu hvor jeg er kommet til at give mig selv pointene.
Men skriv et svar så prøver jeg.
Avatar billede moca68 Nybegynder
15. april 2015 - 21:58 #14
OK - men du skal have et stort TAK for hjælpen.
Det har virkeligt gjort en forskel for mig.
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