Excell, array of iets dergelijks

Pagina: 1
Acties:

  • SAiKO
  • Registratie: September 2000
  • Laatst online: 12-05 12:34

SAiKO

Grote Smurf

Topicstarter
Nou, ik zal maar gewoon zeggen wat ik wil, ik heb een tabel met constante gegevens:
ID WAARDE
1 50
2 45
3 20
4 10

Nu heb ik dus een andere tabel waar de ID per week wordt ingevuld, in een andere volgorde:
ID
4
2
1
3

Hierbij moet ie dus bij het ID de goede WAARDE ophalen uit de andere tabel. Op dit moment heb ik het heel lelijk opgelost door 10 IFjes achter elkaar te plakken 8)7

code:
1
2
3
4
5
=IF(C3=Sheet2!A3;Sheet2!C3;0)+IF(C3=Sheet2!A4;Sheet2!C4;0)+IF
(C3=Sheet2!A5;Sheet2!C5;0)+IF(C3=Sheet2!A6;Sheet2!C6;0)+IF(C3=Sheet2!
A7;Sheet2!C7;0)+IF(C3=Sheet2!A8;Sheet2!C8;0)+IF(C3=Sheet2!A9;Sheet2!C9;0)
+IF(C3=Sheet2!A10;Sheet2!C10;0)+IF(C3=Sheet2!A11;Sheet2!C11;0)+IF
(C3=Sheet2!A12;Sheet2!C12;0)


Nu is de vraag, hoe doe ik dat netjes en sneller..

[ Voor 1% gewijzigd door SAiKO op 07-04-2003 20:34 . Reden: layout ]


  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

zoek eens in de help op vertikal loopup, of in het nederlands horizontaal :D vertikaal zoeken :)

[ Voor 14% gewijzigd door Fish op 07-04-2003 20:56 ]

Iperf


  • SAiKO
  • Registratie: September 2000
  • Laatst online: 12-05 12:34

SAiKO

Grote Smurf

Topicstarter
oe oe oe, hartstikke bedankt!

code:
1
2
3
4
=IF(D26=K3;E3+E4;0)+IF(D26=K5;E5+E6;0)+IF(D26=K7;E7+E8;0)+IF
(D26=K9;E9+E10;0)+IF(D26=K11;E11+E12;0)+IF(D26=K13;E13+E14;0)+IF
(D26=K15;E15+E16;0)+IF(D26=K17;E17+E18;0)+IF(D26=K19;E19+E20;0)+IF
(D26=K21;E21+E22;0)


wordt nu:

code:
1
=VLOOKUP(D30;A3:D22;4)
[:)]

  • SAiKO
  • Registratie: September 2000
  • Laatst online: 12-05 12:34

SAiKO

Grote Smurf

Topicstarter
Ik zit nu met een ander, lastiger, probleempje..Ik moet nu voor elkaar krijgen dat ie die lookup met een letter doet maaaaarrrr, ik zit met het feit dat er meerdere dezelfde letters zijn.
code:
1
2
3
4
5
ID LETTER WAARDE 
1     G        3
2     G        1
3     H        5
4     F        6


Het is de bedoeling dat ie de LETTER selecteert, dan de WAARDE erbij opzoekt en vervolgens in een andere tabel de tweede waarde bij WAARDE zoekt. Voorbeeld van de tweede tabel:

code:
1
2
3
4
5
6
7
ID  WAARDE  PRIJS
1       1     13,2
2       2     10,75
3       3     5,78
4       4     2,75
5       5     30,45
6       6     12,34


Als ik selecteer op G moet ie WAARDE 1 en 3 optellen die dus 13,2 en 5,78 vertegenwoordigen. Het gaat in uiteindelijk om de som van de prijs.

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 02-06 20:28

CoRrRan

Don't Panic!!!

Dit is waarschijnlijk te doen door IF (ALS) functies te combineren met twee VLOOKUP functies.

[ Voor 79% gewijzigd door CoRrRan op 08-04-2003 08:23 . Reden: Ontzettend domme reply weggehaald. Dom dom dom... ]

-- == Alta Alatis Patent == --


  • Vaudtje
  • Registratie: April 2002
  • Niet online
Dit is misschien niet de zinnigst denkbare bijdrage, maar wordt het niet tijd om over te gaan op een database (bv. Access, als je toch met Office aan het klooien bent)?
code:
1
2
3
4
5
6
7
SELECT
  SUM(prijs)
FROM
  letter_waarde, waarde_prijs
LEFT JOIN ON (letter_waarde.waarde = waarde_prijs.waarde)
WHERE
  AND letter_waarde.letter = ?

Ik ben niet meer up to date met Access-syntax, ben ff te lui om erg goed over die die JOIN dingen te gaan nadenken >:)

In deeze zin staan drie fauten


Verwijderd

SAiKO schreef op 08 April 2003 @ 03:32:
Ik zit nu met een ander, lastiger, probleempje..Ik moet nu voor elkaar krijgen dat ie die lookup met een letter doet maaaaarrrr, ik zit met het feit dat er meerdere dezelfde letters zijn.
code:
1
2
3
4
5
ID LETTER WAARDE 
1     G        3
2     G        1
3     H        5
4     F        6


Het is de bedoeling dat ie de LETTER selecteert, dan de WAARDE erbij opzoekt en vervolgens in een andere tabel de tweede waarde bij WAARDE zoekt. Voorbeeld van de tweede tabel:

code:
1
2
3
4
5
6
7
ID  WAARDE  PRIJS
1       1     13,2
2       2     10,75
3       3     5,78
4       4     2,75
5       5     30,45
6       6     12,34


Als ik selecteer op G moet ie WAARDE 1 en 3 optellen die dus 13,2 en 5,78 vertegenwoordigen. Het gaat in uiteindelijk om de som van de prijs.
Als in de eerste tabel gegevens in de kolom WAARDE uniek zijn (ie 1 komt alleen bij G voor en 5 alleen bij H), is dit vrij eenvoudig op te lossen door aan de tweede tabel een kolom toe te voegen waar je mbv VLookup de letter bij de waarde zoekt

Je krijgt dus:

code:
1
2
3
4
5
6
7
ID  WAARDE  PRIJS        Letter
1       1     13,2        G
2       2     10,75        .
3       3     5,78        G
4       4     2,75        .
5       5     30,45       H 
6       6     12,34       F


Dan kun je met een SUMIF of met een conditionele som (conditional sum) de prijzen bij elkaar tellen:
formule:
A10 bevat conditie letter bijv: G

=SUMIF(D2:D7;A10;C2:C7) ---> resultaat: 18.98

of

=SUM(IF((D2:D7=A10);C2:C7) crtl-shft-enter -----> resultaat: 18.98

De ctrl-shift-enter is bij de laatste essentieel omdat deze formule een zogenaamd array-formule moet zijn.

ssuccess
Pagina: 1