Avatar billede aolsen Nybegynder
22. september 2010 - 15:29 Der er 23 kommentarer og
1 løsning

INDEKS med to gange SAMMENLIGNING (inkl. MINDSTE) eller?

Mit regneark ser således ud:
[code]
Ark1
          Kolonne A (vare)  Kolonne B
1        Hårtørrer
2        Badebold
3        Giraf
4
5        Billigste vare:    Hårtørrer
___________________________________________

Ark2
          Kolonne A (vare)  Kolonne B (pris)
1        Hårtørrer          10
2        Badebold          25
3        Giraf              42
[/code]
Jeg ønsker ét (og kun ét) felt (B5) der beregner hvilket af felterne i Ark1!A:A der har den mindste værdi jf. Ark2. I ovenstående tilfælde skal feltet altså returnere 'Hårtørrer'.

Jeg vil IKKE have de enkelte priser i Ark1.

Jeg har forsøgt mig frem med forskellige funktioner som  INDEKS/SAMMENLIGNING osv., men kan ikke rigtig greje den. Det er sikkert simpelt :)
Avatar billede aolsen Nybegynder
22. september 2010 - 15:43 #1
Det skal lige nævnes at der i ark2 er flere varer end de viste herover.
Avatar billede diablo1 Juniormester
22. september 2010 - 16:48 #2
hvis du bruger excel, er der funktionen "mindste" i excel 2007
Den kunne du så kombinere med lookup funktionen - den hedder lopslag såvidt jeg husker. For overskuelighedens skyld, kan du lave en celle med "mindste" formlen og så en der med udgangspunkt i resultatet - bruger lopslag til at se hvilken vare der svarer til den fundne værdi

(overvej hvad der skal ske hvis der er flere varer med den samme lave værdi)

Når de to formler virker, bliver det mere overskueligt at samle dem til een formel
vh
Avatar billede diablo1 Juniormester
22. september 2010 - 16:55 #3
hov- det skulle ikke være en løsning, men en kommentar - kan jeg rette det?
Avatar billede anlu Nybegynder
22. september 2010 - 17:24 #4
Prøv med

=INDEX(Sheet2!$A$2:$A$4;MATCH(MIN(Sheet2!$B$2:$B$4);Sheet2!$B$2:$B$4;0))

(Skal fordanskes, hvis du kører dansk version)
Avatar billede aolsen Nybegynder
22. september 2010 - 17:35 #5
=INDEX(A1:B3;MATCH(SMALL(B1:B3; 1);B1:B3;0);1) vil fungere - men det kræver igen at jeg har en kolonne med LOPSLAG i Ark1 (da der er flere end de 3 varer i Ark2).

Jeg ønsker at foretage beregningen i ét hug.
Avatar billede aolsen Nybegynder
22. september 2010 - 17:39 #6
Desværre samme problemstilling anlu - der skal på en eller anden vis refereres til dataene i Ark1 - men opslaget skal finde sted i Ark2
Avatar billede anlu Nybegynder
22. september 2010 - 19:05 #7
Ah - jeg havde ikke opfattet at der var forskel på varerne i ark 1 og 2 (det fremgår ikke af eksemplet og teksten havde jeg vist fået skimmet lige hurtigt nok :o)
Avatar billede anlu Nybegynder
22. september 2010 - 19:15 #8
Interessant problemstilling, men jeg tror ikke det er så simpelt - så nu spørger jeg bare dumt: hvorfor kan/vil du ikke have priserne i ark 1 i en skjult kolonne?
Avatar billede anlu Nybegynder
22. september 2010 - 19:21 #9
Alternativt, ville det være en løsning for dig at det blev lavet i VBA?
Og bare for at få skåret det fuldstændig ud i pap for mig:
- Varerne i ark A vil være en delmængde af varerne i ark B, antager jeg?
- Kan man forvente at de står i samme rækkefølge eller kan de stå i vilkårlig orden?
Avatar billede aolsen Nybegynder
22. september 2010 - 19:36 #10
#8
Jeg har overvejet det her til aften - alternativt i et tredje ark. Synes bare ikke det er optimalt. (der er rigtig meget data i mit regneark i forvejen).

#9
Jeg vil helst undgå VBA, hvis det er muligt, da jeg meget gerne vil kunne overføre det til Google Spreadsheet på et senere tidspunkt. Så hvis det kan holdes til funktioner er det at foretrække.

Og ja, beklager hvis det ikke var klart nok i min første post :) - varer i Ark1 er en delmængde af varer i Ark2, og de står ikke nødvendigvis i samme rækkefølge desværre.
Avatar billede aolsen Nybegynder
22. september 2010 - 19:45 #11
Og så i øvrigt fordi at det er første gang jeg er stødt på at jeg ikke umiddelbart kan lave en beregning i én omgang (én celle) i Excel. Jeg må bare vide om det er muligt :)
Avatar billede anlu Nybegynder
22. september 2010 - 20:51 #12
Mit bud er at det ikke kan lade sig gøre med en enkelt formel i en enkelt celle - når der ikke er lige mange rækker og de står i vilkårlig orden, vil jeg mene at der skal nogle "værktøjer" til, man ikke har i Excel - noget a la "inner join"
Men jeg vil meget gerne se løsningen hvis jeg tager fejl :o)
Avatar billede jens48 Ekspert
22. september 2010 - 22:14 #13
Anlus formel virker upåklageligt. Den skal blot oversættes til dansk:
=INDEKS(Ark2!$A$1:$A$3;SAMMENLIGN(MIN(Ark2!$B$1:$B$3);Ark2!$B$1:$B$3;0))
Husk at bruge Ctrl, Shíft og Enter ved indtastning
Avatar billede jens48 Ekspert
22. september 2010 - 23:12 #14
Glem det med Ctrl, Shíft og Enter. Det virker også ved normal indtastning
Avatar billede Slettet bruger
23. september 2010 - 01:10 #15
Måske denne matriksformel (omend jeg ikke er sikker):
=MIN(IF((Sheet2!A1:A10=Sheet1!A1)+(Sheet2!A1:A10=Sheet1!A2)+(Sheet2!A1:A10=Sheet1!A3);Sheet2!B1:B10))

Oversæt IF og Sheet til HVIS og Ark, hvis du bruger dansk Excel.
Avatar billede oyejo Nybegynder
23. september 2010 - 03:33 #16
Du kan benytte en celle i Ark2 til å beregne billigste vare i Ark2?  Celle B5 i Ark1 kan så vise verdi fra denne celle.
Avatar billede aolsen Nybegynder
23. september 2010 - 10:12 #17
Jeg har oprettet et spreadsheet på google docs der viser opbygningen bedre end mit eksempel i min første post:

https://spreadsheets.google.com/ccc?key=0AhPcSvAaL79ndFlCWnZuVXVoUV8xcjg4YXJ3bElHN1E&hl=en&authkey=CIrc9dkO

Jeg kan, som anlu skriver i #12, tænke mig til at det er et forholdsvist simpel query i f.eks. SQL (ved brug af joinede tabeller), jeg kan ikke forstå det ikke er muligt i Excel :)

#16
Det giver et forkert resultat til at starte med - det vil finde lavest værdi på tværs af alle varerne - og ikke de 3 varer i Ark1
Avatar billede jens48 Ekspert
23. september 2010 - 23:43 #18
Ja, elegant ser det ikke ud, men med følgende formel virker det, når der ikke er mere end 3 eksempler på sheet 1:
=OFFSET(A1;IF(VLOOKUP(A1;Sheet2!$A$1:$B$8;2;FALSE)=MIN(VLOOKUP(A1;Sheet2!$A$1:$B$8;2;FALSE);VLOOKUP(A2;Sheet2!$A$1:$B$8;2;FALSE);VLOOKUP(A3;Sheet2!$A$1:$B$8;2;FALSE));1;IF(VLOOKUP(A2;Sheet2!$A$1:$B$8;2;FALSE)=MIN(VLOOKUP(A1;Sheet2!$A$1:$B$8;2;FALSE);VLOOKUP(A2;Sheet2!$A$1:$B$8;2;FALSE);VLOOKUP(A3;Sheet2!$A$1:$B$8;2;FALSE));2;3))-1;)
Avatar billede Slettet bruger
24. september 2010 - 07:42 #19
Jeg prøver igen.
Følgende ser for mig ud til at virke, dog kun hvis der ikke er gengangere af priserne.

Matriksformel:
=INDEX(A1:A10;MATCH(MIN(IF((Sheet2!A1:A10=Sheet1!A1)+(Sheet2!A1:A10=Sheet1!A2)+(Sheet2!A1:A10=Sheet1!A3);Sheet2!B1:B10));B1:B10;0))

Hvis dansk Excel:
=INDEKS(A1:A10;SAMMENLIGN(MIN(HVIS((Ark2!A1:A10=Ark1!A1)+(Ark2!A1:A10=Ark1!A2)+(Ark2!A1:A10=Ark1!A3);Ark2!B1:B10));B1:B10;0))
Avatar billede aolsen Nybegynder
24. september 2010 - 13:34 #20
#18 Virker perfekt, sjov løsning! Svar :)

#19 kan jeg ikke få til at virke desværre
Avatar billede jens48 Ekspert
24. september 2010 - 13:45 #21
Du får et svar der er kortere end formelen
Avatar billede Slettet bruger
24. september 2010 - 14:48 #22
Jeg har set at du har accepteret forslaget i #18, men hvad er der galt med #19? Har du indtastet som matriksformel?

Det ville være rart med bare en lille indikation af, hvad du konkret mener med "#19 kan jeg ikke få til at virke". Med den givne respons har jeg jo ingen mulighed for at blive klogere.

Hans
Avatar billede jens48 Ekspert
25. september 2010 - 00:12 #23
Hej dkhanknu,
Så vidt jeg kan se har du sammenblandet Sheet 1 og 2 og glemt at specificere arket et sted. Med

=INDEX(Sheet2!A1:A10;MATCH(MIN(IF((Sheet2!A1:A10=Sheet1!A1)+(Sheet2!A1:A10=Sheet1!A2)+(Sheet2!A1:A10=Sheet1!A3);Sheet2!B1:B10));Sheet2!B1:B10;0))

virker det
Avatar billede Slettet bruger
25. september 2010 - 08:33 #24
Jeg havde indsat formlen i Sheet2 (hvorved det virkede fint, også uden det manglende arknavn). Men du har selvfølgelig ret i at formlen skulle have stået i Sheet1.
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