|
| Excel: slå.op Fra : Zigarlos | Vist : 1776 gange 300 point Dato : 17-02-07 23:03 |
|
Jeg har to kolonner der ser sådan ud:
A B
1 SPILLER SCORING
2 A 2-0
3 B 3-0
4 C 1-0
5 D 6-0
6 E 8-0
7 F 7-0
8 G 9-0
9 H 10-0
10 I 4-0
11 J 5-0
Jeg vil gerne have Excel til at returnere navnet på den spiller der har scoret til f.eks. 1-0 (jeg har formatteret alle scoringerne i kolonne B til tekst), og har derfor forsøgt med denne formel:
=slå.op("1-0";b2:b11;a2:a11)
På den måde får jeg da også returneret det forventede resultat (c), men når jeg laver formlen med "2-0", "3-0", "4-0" etc., får jeg resultaterne c,c,c,c,d,f,j,c og c. Jeg forventede at få resultaterne a,b,i,j,d,f,e,g,h.
Er der mon én der kan forklare dette? Og måske har en alternativ løsning
| |
| Kommentar Fra : sion |
Dato : 17-02-07 23:23 |
|
Fra Office hjælp om SLÅ.OP:
Citat Vigtigt! Værdierne i opslagsvektor skal indtastes i stigende rækkefølge: ...,-2, -1, 0, 1, 2, ..., A-Å, FALSK, SAND. Ellers giver SLÅ.OP muligvis ikke den korrekte værdi. Der skelnes ikke mellem store og små bogstaver. |
Brug i stedet LOPSLAG-funktionen (Lodret Opslag). Du skal så skrive scoringerne i den første kolonne (A) og spilleren i den anden kolonne (B). Brug denne formel:
=LOPSLAG("1-0";$A$2:$B$11;2;0)
2-tallet siger at værdien fra anden kolonne i opslagsmatrix skal returneres (det er spillerens navn). Nullet til sidst angiver, at scoringerne ikke er sorteret.
Simon
| |
| Kommentar Fra : sion |
Dato : 17-02-07 23:26 |
|
...der kan selvfølgelig kun være én af hver scoring. Altså ikke to gange 1-0 eksempelvis. Men det er vist også sjældent, at der bliver scoret to gange til samme resultat i en kamp.
Hvad med mål fra modstanderen?
Hvis du skal have en liste over egne scoringer, skal du måske overveje at skrive egne scoringer i én kolonne og modstanderens scoringer i en anden kolonne.
Simon
| |
| Kommentar Fra : Zigarlos |
Dato : 18-02-07 00:07 |
|
Det ser jo fint nok ud med LOPSLAGs-løsningen, men hvis man forestiller sig at spiller c scorer til både 1-0 og 2-0, regnede jeg med at det var nok at indsætte en ekstra kolonne, så der ud for spilleren c vil se sådan ud:
A B C
(RÆKKE) SCORING SPILLER
4 1-0 2-0 C
så prøvede jeg med formlen =LOPSLAG("2-0";$a$2:$c$11;3;0), men får så værdien #I/T.
Den tilsvarende formel med "1-0" fungerer stadig fint når jeg indsætter en ekstra kolonne og beder om at få returneret værdien fra det der nu er den 3. kolonne
| |
| Kommentar Fra : sion |
Dato : 18-02-07 00:26 |
|
Det er fordi LOPSLAG søger i den første kolonne. Du skal lave formlen om til =LOPSLAG("2-0";$B$2:$C$11;2;0)
Hvis LOPSLAG ikke kan finde værdien, returneres #I/T. Du kan slippe for dette ved at tilføje en HVIS-funktion med en ER.FEJL-funktion: =HVIS(ER.FEJL(LOPSLAG("2-0";$B$2:$C$11;2;0));"";LOPSLAG("2-0";$B$2:$C$11;2;0))
Jeg tror måske, du skal revurdere dit regnearksdesign. Hvad vil du gøre, hvis samme spiller scorer 3, 4, 5 eller (hypotetisk) 100 gange?
I stedet for at skrive scoringer ud for hver spiller, synes jeg, du skal skrive spiller ud for hver scoring. På den måde kommer samme spiller måske nok til at stå i flere rækker, men det gør vel ikke noget.
Simon
| |
| Godkendelse af svar Fra : Zigarlos |
Dato : 21-02-07 19:19 |
|
Ja, jeg lavede en kombination af LOPSLAG og et re-design af mit regneark. Jeg var faktisk inde for at give dig point i går men siden frøs, og mine indlæg blev ikke gemt.
| |
| Kommentar Fra : sion |
Dato : 21-02-07 20:36 |
|
Fint fint. Jeg var bange for, at du havde opgivet det.
Simon
| |
| 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.
| |
|
|