Hoi Funsurfer,
Excel heeft altijd problemen met het onderscheiden van gelijke getallen. Een eenvoudige oplossing voor dit probleem is gelijke getallen verschillend te maken. Omdat Excel werkt met verticale regels (Rijen) is het rij- of regelnummer altijd uniek. De functie Rij geeft het regelnummer aan dat je ook naast het werkblad ziet.
Nu moet je nog een kolom kiezen waarin de bedrijven die je bij elkaar wilt hebben een gelijk nummer hebben. Omdat jij werkt met een debiteurennummer, heb je dat voor dat bedrijf nummer.
Het optellen van het rijnummer en het debiteurennummer geeft verwarring, zo zou de bestelling van Amev op regel 3 verward kunnen worden met een bestelling van Nationale Nederlanden. Door het rijnummer te delen door een groot getal zal een bestelling van Amev altijd groter zijn dan 1 en kleiner dan 2.
Als je A3:G9 sorteert op kolom 9 dan staan de bestelling precies op volgorde. Maar dat was niet de bedoeling.
Reeks (G22-G29)
Daarom heb ik in de tabel daaronder een lijstje gemaakt dat zoekt naar de kleinste waarde in de kolom(G3:G8). Dat is Amev met klantnummer 1 en bestelling 1 op regel 3. De formule kleinste(G$3:G$8;Rijen(G$22:G22)) zoekt het kleinste getal in een reeks, kleinste(G$3:$8;Rijen(G$22:G23)) zoekt het op een na kleinste getal in de reeks omdat het aantal rijen in de reeks G$22:G23 2 is, enzovoorts. Nu moeten we nog een foutmelding voorkomen. Want als je naar het zevende kleinste getal in een reeks van zes getallen zoekt, dan bestaat dat getal niet. Daarom vergelijk ik het aantal getallen in de reeks G$3:G8 met het aantal rijen. Tel ik meer dan 6 rijen dan dan weet ik dat ik geen geldig getal meer kan krijgen.
Omdat we met deze formule het regelnummer gebruikt hebben om de bestellingen van elkaar te scheiden kunnen we met de omgekeerde formule het regelnummer weer tevoorschijn halen. Ik gebruikt de formule rest(G22;1) om het restant van de deling van G22/1 te bepalen en ik vermenigvuldig dit met het getal waardoor ik het rijnummer had gedeeld. Omdat Excel niet altijd het goed afgeronde getal weergeeft (8 wordt bijvoorbeeld 7,99999999999) rond ik de uitkomst hiervan af op 0 decimalen.
Kolom A22-E28
Om de tabel te kopieren in een andere volgorde gebruik ik de formule Index(A$3:A$8;$g22-2). Deze formule zoekt het $G22-2 e getal of tekst op in de reeks. Van G22 trek ik 2 af omdat het eerste getal in de reeks op rij 3 staat.
Als ik de formule door kopieer naar de naast en ondergelegen cellen dan komt daar het gewenste resultaat te staan.
Reeks F22:F28
Dan hebben we kolom F nog. In deze kolom zet ik het totaal neer van de klant genoemt in kolom B. De formule som.als ken je (ik had overigens ook kolom C kunnen nemen, was misschien zelfs logischer). Maar omdat je niet bij iedere regel het klanttotaal wilt hebben kijk je of de klant nog voorkomt in het vervolg van de tabel. Dat doe je met de functie aantal.als, die vergelijkbaar werkt als som.als. De formule telt het aantal keer dat de waarde achter het = teken voorkomt. Als dat aantal gelijk is aan 0 dan weet je dat da klant niet meer voorkomt in de tabel. Komt de klant nog wel voor dan laat je "" verschijnen.
Ik zie overigens nu dat tussen kolom E en F nog het klanttotaal bezet weergegeven had moeten worden(kolom toevoegen,=ALS(B22="";"";ALS(AANTAL.ALS(B23:B$40;"="&B22)=0;SOM.ALS(B$22:B$40;"="&B22;D$22

$40);"")) )
Tenslotte nog 2 tips:
Als ik jou was zou ik in Archiefbeheer in de nieuwe tabel naast jou tabel plaatsen (de tabellen hebben dezelfde lengte), bovendien zou ik de klanttotalen niet onderaan zetten maar bovenaan
Jeroen