Avatar billede j-kid Praktikant
18. marts 2010 - 14:04 Der er 5 kommentarer og
1 løsning

Opslag med flere kriterier/betingelser

Hej

Jeg har brug for en formel til at returnere en værdi ud fra en sammenligning af 2 datasæt.

Dataene som jeg vil evaluere er ordnet som disse:

Højde  Bredde    Vægt    Antal  Emballage
12      73        2      10      [Her skal formlen være]
30      14        1      3
Osv.

I et andet har jeg kriterierne for valg af emballage.

Højde  Bredde    Vægt    Antal  Emballage
>10    >4        >2              Papkasse
>20    >45      >12    >15    Trækasse

Det jeg gerne vil have er at formlen skal sammenligne kriterierne med dataene og returnere den type emballage, som passer til kriterierne. Det skal være en formel, som kan kopieres nedad på en del rækker og blive ved med kun at sammenligne den pågældende rækkes data med det samme sæt kriterier.

Mvh. Jakob
Avatar billede Slettet bruger
19. marts 2010 - 08:33 #1
Manglende løsningsforslag i det her forum er med stor sikkerhed udtryk for manglende præcision i problemformuleringen. Så mit forslag skal være, at du gør dig mere umage med at beskrive, hvad det er, du ønsker. (skal alle kriterier være opfyldt samtidigt, er der ingen antalskriterium ved papkasse, hvor mange kriterier er der i alt, hvad skal returneres for hvert kriterium, hvad skal returneres for eksempelvis {Højde, Bredde, Vægt, Antal = 12, 73, 2, 10} og hvorfor, osv.)

Hans
Avatar billede j-kid Praktikant
19. marts 2010 - 13:55 #2
Ok. Jeg skal prøve at være lidt mere præcis.

Jeg har nogle data i et ark, der ser ud som disse:

Højde  Bredde    Vægt    Antal
12    19        2      10
29    14        1      3
Osv.

I et andet ark har jeg opstillet en række emballagetyper samt nogle kriterierne for valg af emballage. Kriterierne har samme overskrifter som kolonnerne i datasættet.

Højde  Bredde    Vægt    Antal  Emballage
<20    <10      <8      <5    Papkasse
<30    <20      <20    <15    Trækasse

Det jeg ønsker er, at fremstille en formel, der returnerer den emballagetype, der opfylder alle betingelserne for en linie i datasættet.

Dvs. at for det datasæt jeg har skrevet ovenfor, skal der for begge linier vælges trækasse.

Håber det gav mere mening.

Mvh. Jakob
Avatar billede Slettet bruger
19. marts 2010 - 15:49 #3
Måske noget i retning af følgende matriksformel:
=HVIS(OG(A2:D2<$G$1:$J$1);"Papkasse";HVIS(OG(A2:D2<$G$2:$J$2);"Trækasse";""))

hvor du har dine data i A2:D2 og kriterier i G1:J1. Husk at matriksformler skal indtastes ved at holde Ctrl og Shift nede før du trykker på Enter. Hvis der er mange kriterier (linjer) er formlen her ikke optimal (der var derfor jeg i min sidste post spurgte til hvor mange kriterier i alt).
Avatar billede j-kid Praktikant
22. marts 2010 - 13:26 #4
Hej Hans

Det ser ud til at kunne det jeg efterspørger, så smid et svar.

Jeg har kun få kriterier, så det er til at se sig ud af. Hvorfor indsætter du et OG foran formlen?
Avatar billede Slettet bruger
22. marts 2010 - 16:19 #5
Med:
Højde    Bredde    Vægt    Antal
12    19    2    10
29    14    1    3
i A1:D3 og kriterier:
< 20    < 10    < 8    < 15    Papkasse
< 30    < 20    < 20    < 15    Trækasse
i G1:K2
(Bemærk her, at G1:K2 kun indeholder tal. Udtryk som f. eks. <20 er frembragt ved hjælp af et brugerdefineret talformat: "< "#

Hvad angår formlen må du lære dig selv at bruge F9 til at analysere formlers enkelte bestanddele, alternativt det værktøj der hedder formelrevision. Det er helt nødvendigt hvis du ønsker at kunne begribe komplicerede formler.

Lad os prøve med formlen:
=HVIS(OG(A2:D2<$G$1:$J$1);"Papkasse";HVIS(OG(A2:D2<$G$2:$J$2);"Trækasse";""))

Vælg den celle, hvor du har formlen. I formelfeltet markerer du nu med musen præcist følgende del af formlen:
A2:D2<$G$1:$J$1. Tryk på F9 og du vil se: {SAND; FALSK, SAND; SAND}. Altså, Excel tester først udsagnet =A2<G1 (første element i første matriks sammenlignes med første element i den anden matrix). Her altså =12<20.Resultat:SAND. I næste step tester Excel udsagnet =B2<H2 (andet element i første matriks sammenlignes med andet element i den anden matriks). Her altså: =19<10. Resultat: FALSK. Vi har altså herefter, at {SAND; FALSK; SAND; SAND}nu indgår som argumenter i OG-funktionen. Denne funktion returnerer (se Excel hjælp) SAND hvis alle argumenterne er SAND, og FALSK hvis et eller flere argumenter er FALSK. Det vil sige, at =OG({SAND; FALSK; SAND; SAND}) returnerer FALSK (check det ved i formelfeltet at markere OG(A2:D2<$G$1:$J$1)og tryk på F9) fordi ét af argumenterne er FALSK. Den oprindelige formel er herefter reduceret til:
=HVIS(FALSK;"Papkasse";HVIS(OG(A2:D2<$G$2:$J$2);"Trækasse";""))

På dette sted må du huske, hvad HVIS-funktionen gør, nemlig:
"Returnerer én værdi, hvis et kriterium, du angiver, evalueres som SAND, og en anden værdi, hvis det evalueres som FALSK.

Kriteriet blev her evalueret som FALSK. Det vil sige, at HVIS-funktionen returnerer "en anden værdi", hvilket igen vil sige det, der i HVIS-funktionen er angivet som tredje argument. Tredje argument er en ny HVIS-funktion der virker på nøjagtigt samme måde som den allerede analyserede. Når vi er kommet hertil er det selvfølgelig et udtryk for, at ikke alle kriterier i G1:J1 var opfyldte. Vi tester dernæst, om alle kriterierne i G2:J2 er opfyldte. Hvis du prøver i formelfeltet at markere:
A3:D3<$G$2:$J$2 og trykker på F9 vil du se {SAND; SAND; SAND; SAND}

Jeg tror du har forstået systemet. Men eksperimenter selv. Det er den eneste måde at blive bedre til Excel (eller vel i øvrigt til hvad som helst).

I øvrigt - hvis B2 indeholder tallet 73 (som i dit oprindelige spørgsmål), så returnerer formlen en blank celle. Jeg overlader det til dig selv at analysere hvorfor.

Det blev en forfærdelig lang snak foranlediget af det lille ord OG.

Hans
Avatar billede j-kid Praktikant
24. marts 2010 - 11:05 #6
Tak for det fyldige svar. Jeg får det lige nærstuderet ved lejlighed ;-)
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