• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opgelost Een soort van Transponeren

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

JelleN

Gebruiker
Lid geworden
7 nov 2022
Berichten
36
In bijgevoegd bestand heb ik in kolom A een unieke code.
In kolom B moet het positienummer. Dit is terug te vinden in kolom O.
Echter moet dit positienummer 8 keer onder elkaar vanwege het aantal per positie, kolom M.

Is hier een trucje op te verzinnen?
 

Bijlagen

Die code in kolom A is inderdaad uniek, hij komt verder nergens voor in het document, hoe wil je daar dan het positienummer bij zoeken?
En wat bedoel je met 8 keer onder elkaar? Geef eens aan in het document wat het resultaat zou moeten zijn.
 
Optie voor Excel 365:
Code:
=TRANSPONEREN(TEKST.SPLITSEN(SPATIES.WISSEN(TEKST.COMBINEREN(" ";1;HERHALING(O2:O4&" ";M2:M4)));" "))
Als ik de vraag tenminste goed begrijp... Kwam mij ook vreemd over dat kolom A nergens voorkomt in de tabel, verwarrend.
 
In M2 zie je dat we dit product 8 keer maken.
Het nummer in kolom O (000330562925) wil ik dan 8 keer onder elkaar in kolom B.
 
Kolom A is dus feitelijk overbodig voor de vraag.
 
Hier ook nog eentje

Code:
=LET(z;M2:M4;TOCOL(IFS(SEQUENCE(;MAX(z))-1<z;O2:O4);3))
 
Ik maak een export uit ons systeem. tabblad export.
Op tabblad 'test' sleep ik regel 3 (kolom B tem G) naar beneden zolang de export is.
Vervolgens heb ik alle informatie die ik nodig heb en gebaseerd op het aantal stuks.

VB: tabblad export C2 geeft 2 stuks aan. Nu heb ik op tabblad 'test' 2 regels onder elkaar.
 

Bijlagen

Voor office 365 je hele tabel in één keer.

Code:
=LET(t;Export!A2:U22;x;INDEX(t;;5);z;INDEX(t;;3);y;TOCOL(IFS(SEQUENCE(;MAX(z))-1<z;x);3);INDEX(t;XMATCH(y;x);{1\5\10\8\9\21}))
 

Bijlagen

Wie kan me toch nog een keer helpen, er blijkt wat mis te gaan.
Tabblad export zijn de gegevens:
Waarbij kolom C 109 stuks zijn.
Nu wil ik op tabblad AWS 109 keer kolom H, I en J onder elkaar alvorens de formule start met de volgende regel.
 

Bijlagen

Als je mijn laatste formule gebruikt (Office 365) gaat dat gewoon goed
 
Maar Jelle toch, moet een multinational (onderdeel van Dillinger) hier op een forum met vrijwillige helpers om een oplossing bedelen ?
Geen geld voor de inhuur van een professional, desnoods een hier uit het forum) ?
Waar gaat dan de winst naar toe ?
Specificeer je wensen bij de IT-afdeling van jullie bedrijf en laten ze zorgen dat er op de door jou gewenste manier etiketten kunnen worden aangemaakt.
 
Omdat het om een eenmalige aktie gaat is het gebruik van formules - die steeds weer opnieuw worden berekend- niet voor de hand liggend.
Gebruik de eenvoudigste/snelste methode in VBA:

CSS:
Sub M_snb()
  sn = Blad2.Cells(1).CurrentRegion
 
  With CreateObject("scripting.dictionary")
    For j = 2 To UBound(sn)
      For jj = 1 To sn(j, 3)
         .Item(.Count) = Array(Left(sn(j, 5), 9), sn(j, 5), sn(j, 10), sn(j, 8), sn(j, 9), sn(j, 1) & " " & sn(j, 2))
      Next
    Next
    Blad1.Cells(2, 20).Resize(.Count, 6) = Application.Index(.items, 0, 0)
  End With
End Sub

P.S. Het gebruik van verschillende kolomteksten voor dezelfde gegevens is op zijn zachtst gezegd 'niet handig'.
 
Voor de fun ook nog eentje met de nieuwe Python functionaliteit. Invoeren met CTRL + ENTER

Python:
=PY(
df = xl("Export!A1:U20",headers = True);
df = df[df.iloc[:, 0].notna()];
df = df.loc[df.index.repeat(df['MENGE'])].reset_index(drop=True);
df = df.iloc[:, [0, 4, 9, 7, 8, 20]];
)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan