Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Excel 2007] Kleinste in bereik indien aan voorwaarde

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een Excel overzicht met in:
Kolom A: (nummers)
Kolom B: (teksten)
Kolom C: (teksten)

In kolom C komen een aantal dezelfde teksten voor.
Ik wil nu dat indien in kolom C: tekst X voorkomt dat hij van alle rijen waarin in kolom C: Tekst X voorkomt de laagste waarde in kolom A opzoekt. Vervolgens wil ik dat in die rij waar de laagste waarde voorkomt de waarde van kolom B overnemen.

Vervolgens wil ik in de volgende cel hetzelfde verhaal maar dat dit nu gebeurd bij de één na laagste waarde etc. Betekend dit dat ik deze de formule kleinste in een andere o.i.d. moet bouwen? Ik kom er helaas niet uit.

[ Voor 20% gewijzigd door Verwijderd op 10-04-2009 21:22 ]


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Stel dat je 4 rijen hebt om op te zoeken, en je de eerste wil hebben, dan denk ik aan zoiets:
code:
1
{=INDEX(B1:B4,MATCH(1,(SMALL(IF(C1:C4="a",A1:A4),1)=A1:A4)*(C1:C4="a"),0))}

In te voeren als array-formule, met ctrl-shift-enter, dan krijg je die { en }. Voor de 2e verander je dan de 2e 1 in een 2. Dit gaat mis als je dezelfde combinatie in kolom a/c meerdere keren hebt, alleen de eerste tekst in kolom b zal dan worden getoond.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Verwijderd

Topicstarter
Voordeel is dat er geen zelfde combinaties tussen A en C zitten.

Ik heb echter wel problemen met het invoeren van deze formule.
Ten eerste gebruik ik de Nederlandse versie dus als ik alle formules omzet naar het Nederlands en de , vervang voor ; krijg ik een melding dat er te veel argumenten zijn ingevoerd.

Heb je misschien een idee wat ik mis doe?

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Geen idee. In het Nederlands is het volgens mij:
code:
1
{=INDEX(B1:B4;VERGELIJKEN(1;(KLEINSTE(ALS(C1:C4="a";A1:A4);1)=A1:A4)*(C1:C4="a");0))}

Misschien vergeet je ctrl-shift-enter, heb je fout vertaald, of heb je de haakjes fout geplaatst?

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Verwijderd

Topicstarter
Tnx ik denk dat ik hem werkend hem gekregen ik had match vertaald naar gelijk maar het moest vergelijken zijn. De formule werkt goed :)

[ Voor 22% gewijzigd door Verwijderd op 12-04-2009 15:29 ]


Verwijderd

Topicstarter
Heb nog 2 vragen over bepaalde waarden die ik wil vinden, misschien dat je daar ook een idee voor vind ik kom nog niet echt uit array formules.

1.
Ik wil ook nog in een andere cel de nummering laten wijzigen.
Hier geldt dus: indien kolom C = tekst X is dan dient hij in kolom A (nummers) de laagste uit de waarden mee te nemen. Vervolgens in de volgende cel het één na laagste nummer dat voldoet aan tekst X in kolom C.
Weet je welke formule voor deze actie bruikbaar is?

2.
Ik heb een overzicht met gegevens waar ik een waarde wil uithalen. De kolommen lopen van D t/m V.
In rij D17 t/m V17 staat een tekst. Onder de desbetreffende rij staan getallen die lopen van rij 18 t/m 104.
Ik wil nu in het gehele overzicht (rijen 17) zoeken op een bepaalde tekst stel, X. Indien aan de X voldaan wordt in een bepaalde kolom dient hij de getallen in die kolom vanaf rij 18 t/m 104 op te tellen.
Heeft iemand een idee voor deze formule?

Edit:
De tweede vraag lijkt opgelost te worden met:
code:
1
=DBSOM(D17:V104;"X";D17:V104)

[ Voor 57% gewijzigd door Verwijderd op 12-04-2009 16:06 ]


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Verwijderd schreef op zaterdag 11 april 2009 @ 21:21:
1.
Ik wil ook nog in een andere cel de nummering laten wijzigen.
Hier geldt dus: indien kolom C = tekst X is dan dient hij in kolom A (nummers) de laagste uit de waarden mee te nemen. Vervolgens in de volgende cel het één na laagste nummer dat voldoet aan tekst X in kolom C.
Weet je welke formule voor deze actie bruikbaar is?
Ehh, dit is denk ik gewoon een deel van die andere formule, dus (array formule):
code:
1
{=KLEINSTE(ALS(C1:C4="a";A1:A4);1)}
2.
Ik heb een overzicht met gegevens waar ik een waarde wil uithalen. De kolommen lopen van D t/m V.
In rij D17 t/m V17 staat een tekst. Onder de desbetreffende rij staan getallen die lopen van rij 18 t/m 104.
Ik wil nu in het gehele overzicht (rijen 17) zoeken op een bepaalde tekst stel, X. Indien aan de X voldaan wordt in een bepaalde kolom dient hij de getallen in die kolom vanaf rij 18 t/m 104 op te tellen.
Heeft iemand een idee voor deze formule?

Edit:
De tweede vraag lijkt opgelost te worden met:
code:
1
=DBSOM(D17:V104;"X";D17:V104)
Originele oplossing. Ik weet niet hoe snel en handig dbsom is met zoveel criteria, maar als het goed werkt dan werkt het. :) Mijn eerste ingeving was zoiets:
code:
1
=SOM(VERSCHUIVING(D18:D104;0;VERGELIJKEN(D17:V17;"X";0)-1))

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Verwijderd

Topicstarter
Jouw formule is in eerste instantie goed, maar bij vergelijken komt eerst de X.
Toen ik DBSOM gebruikte crashde excel toen ik op gerelateerde werkbladen kolommen ging invoegen en verwijderen bij jouw formule heb ik dit gelukkig (nog) niet. 8)
Pagina: 1