[Excel] Lijst uit andere sheet sorteren en weergeven

Pagina: 1
Acties:
  • 141 views sinds 30-01-2008
  • Reageer

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik heb een sheet waarop allerlei berekeningen worden gedaan voor een lijst personen. Deze lijst personen is onderhevig aan veranderingen en op dit moment moet die hete $^*&^%*$ sheet aangepast worden (regeltje opschuiven, popje toevoegen, formules kopieren etc.) als er iemand bijkomt of af gaat.

Onder de huidige lijst staat een samenvatting van het geheel, die dus ook netjes opgeschoven moet worden als de lengte van de lijst veranderd. Dat werkt natuurlijk echt voor geen meter, dus had ik het volgende idee opgevat:

Als ik nu in een tweede sheet alle personen die in de berekening mee moeten worden genomen in ee lijst zet. Dan wil ik in de berekening-sheet die lijst pakken, sorteren op alfabet en in de tabel zetten. Die tabel moet dan dus automatisch de goede lengte worden en de benodigde formules overnemen. Die formules zijn voor iedereen gelijk, behalve dan natuurlijk het rij nummer.

Onder deze berekeningen moet de samenvatting komen, dus ook deze moet naar aanleiding van de lengte van de lijst opschuiven.

Ik krijg het niet voor elkaar om de lijst uit de ene sheet naar de andere te toveren. Ook heb ik nog niet gevonden hoe ik op kan geven dat een blok cellen pas moet beginnen nadat een andere lijst is geëindigd. Het moet kunnen lijkt me... maar ja, hoe :|

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 18:51
Het kan wel, maar dat wordt een vrij substantieel geemmer.
Ik zal een globale doorloop aangeven van een mogelijkheid.

-Je lijst staat in sheet1, kolom A.

-Je zet in kolom B van sheet 2 een formule die een knetterharde verwijzing naar een cel in je lijst geeft:
=INDIRECT("Sheet1!A"&Row(B1),true (of false, da weet nie meer))
Je moet met indirect werken omdat je anders geen rijen kan verwijderen in sheet 1, dat geeft #REF fouten.
-Je zet in kolom A een formule die ervoor zorgt dat je lijst de goede volgnummers krijgt, oplopend vanaf 1. Hiervoor moet je een numeriek equivalent van je lijstje hebben. Bijv, in kolom C:
=CODE(LEFT(B1,1))*1000+IF(LEN(B1)>1,CODE(MID(B1,2,1)),0)
In kolom C staan nu getallen, die de Asciwaarde van de eerste twee cijfers voorstellen.
In kolom A zet je nu:
=RANK(C1,C:C,1)
Dit zijn je sorteerrangnummers.
Kolom D kan je gesorteerde lijst zijn:
=VLOOKUP(ROW(D1),A:B,2,FALSE)
Et voila.
JE zal nog een boel foutafvanging moeten doen: let op de functies if en iserror, in samenhang
Bijv. als =VLOOKUP(ROW(D1),A:B,2,FALSE) fouten geeft =>
=IF(ISERROR(VLOOKUP(ROW(D1),A:B,2,FALSE)),"",VLOOKUP(ROW(D1),A:B,2,FALSE))

maar zo zou het kunnen werken.

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Oei dat lijkt gecompliceerder dan ik in eerste instantie gedacht had, maar we gaan het eens proberen :) In ieder geval alvast bedankt voor het uitgebreide antwoord!

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.