Avatar billede ciuspan Nybegynder
10. juni 2003 - 15:21 Der er 5 kommentarer og
1 løsning

index/match

Jeg skal lave et index/match opslag med en IF sætning således at den skal slå op i hvert sit ark afhængig af værdien i feltet "D2".
Formlen er nedenfor:
Hvis D2 = "Running" skal den lave sit INDEX/MATCH opslag i arket 'Activity Running' ellers i 'Activity Setup'.

=IF(D2="Running";INDEX('Activity Running'!$G$1:$N$13;MATCH(Y2;'Activity Running'!$G$1:$G$13;);MATCH($S$1;'Activity Running'!$G$1:$N$1;0);IF(D2="Setup";INDEX('Activity Setup'!$G$1:$N$13;MATCH(Y2;'Activity Setup'!$G$1:$G$13;);MATCH($S$1;'Activity Setup'!$G$1:$N$1;0)))))

Hver for sig fungere disse formler.

Jeg mener jeg har gjort det korrekt men kan ikke få det til at virke...kan nogen??
Avatar billede janvogt Praktikant
10. juni 2003 - 15:34 #1
Lidt svært at overskue, men skal der mon være to IF'er?
En IF-sætning ser normalt sådan ud =IF(betingelse;hændelse hvis sand;hændelse ellers)
Hvis man kun har 2 alternativer, som du ser ud til at have, burde man kunne nøjes med én IF.

Ellers kan du evt. prøve at sende dit ark til mig, så skal jeg finde fejlen.
Avatar billede greatdane Nybegynder
10. juni 2003 - 15:43 #2
Som Jan lige har skrevet, så er den overordnede syntaks for IF: =IF(betingelse;sand;falsk).

Hvis jeg formaterer din formel lidt anderledes, så ser det sådan ud:

=IF(D2="Running";
    INDEX('Activity Running'!$G$1:$N$13;
          MATCH(Y2;'Activity Running'!$G$1:$G$13;);
          MATCH($S$1;'Activity Running'!$G$1:$N$1;0);
          IF(D2="Setup";
            INDEX('Activity Setup'!$G$1:$N$13;
                  MATCH(Y2;'Activity Setup'!$G$1:$G$13;);
                  MATCH($S$1;'Activity Setup'!$G$1:$N$1;0)
                  )
            )
        )
  )

Så du tester altså kun på, om D2='Running' og går i gang med en masse, hvis den er det - herunder at spørge, om D2='Setup', hvilket den selvfølgelig ikke er.  Du mangler at få afsluttet den MATCH, du har til sandt, så den næste test på D2='Setup' kan blive udført under falsk.  Øh, det var vist lidt klodset formuleret, men jeg håber, du fik meningen... :-)
Avatar billede greatdane Nybegynder
10. juni 2003 - 15:44 #3
Sorry: Jeg mente, at du skulle flytte parantes, så den første INDEX blev afsluttet...
Avatar billede janvogt Praktikant
10. juni 2003 - 15:52 #4
Nogenlunde sådan, måske .....
Der er vist også noget med paranteserne.

=IF(D2="Running";INDEX('Activity Running'!$G$1:$N$13;MATCH(Y2;'Activity Running'!$G$1:$G$13;);MATCH($S$1;'Activity Running'!$G$1:$N$1;0));INDEX('Activity Setup'!$G$1:$N$13;MATCH(Y2;'Activity Setup'!$G$1:$G$13;);MATCH($S$1;'Activity Setup'!$G$1:$N$1;0)))
Avatar billede greatdane Nybegynder
10. juni 2003 - 16:05 #5
Lige præcis!  Dog er der nu sket det, at du går ud fra, at hvis D2 ikke indeholder ordet "Running", så må det være "Setup".  Du kunne for en sikkerheds skyld indlede Falsk-delen med en IF, så strukturen overordnet set bliver
=IF(D2="Running";
    Kode for running...;
    IF(D2="Setup";
      Kode for set...;
      Fejlmeddelelse: D2 hverken "Running" eller "Setup"
      )
  )
Avatar billede ciuspan Nybegynder
11. juni 2003 - 13:05 #6
1000 tak - Det virker.
Jeg frygtede at excel ikke kunne sådan en formel.
Når det sådan noget her virker føles det rigtig godt ned i maven.
TAK
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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