Temat: Transpozycja i czary mary
Można to rozwiązać w ten sposób:
Zakres danych przyjąłem od A2 do B5000
W E2 formuła tablicowa:
=JEŻELI(CZY.BŁĄD(INDEKS(PRZESUNIĘCIE($A$1;;;ILE.NIEPUSTYCH($A:$A));PODAJ.POZYCJĘ(0;LICZ.JEŻELI($A$1:AY1;PRZESUNIĘCIE($A$1;;;ILE.NIEPUSTYCH($A:$A)));0)));"";INDEKS(PRZESUNIĘCIE($A$1;;;ILE.NIEPUSTYCH($A:$A));PODAJ.POZYCJĘ(0;LICZ.JEŻELI($A$1:AY1;PRZESUNIĘCIE($A$1;;;ILE.NIEPUSTYCH($A:$A)));0)))
i kopia w dół do żądanej ilości ( formuła tworzy listę produktów bez powtórzeń).
W K2 formuła:
=LICZ.JEŻELI($A2:$A$5000;$A2)&$A2
i kopia w dół do żądanej ilości (liczy ilość produktów z zachowaniem kolejności od max do min).
W L2:
=JEŻELI(CZY.BŁĄD(PRZESUNIĘCIE($K$1;PODAJ.POZYCJĘ(LICZ.JEŻELI($A:$A;$E2)&$E2;$K$2:$K$2000;0);-9));"";PRZESUNIĘCIE($K$1;PODAJ.POZYCJĘ(LICZ.JEŻELI($A:$A;$E2)&$E2;$K$2:$K$2000;0);-9))
i kopia w dół do żądanej ilości. (wyszukuje imię na podstawie max z poprzedniej formuły)
W M2:
=JEŻELI(CZY.BŁĄD(PRZESUNIĘCIE($K$1;PODAJ.POZYCJĘ(LICZ.JEŻELI($A:$A;$E2)-NR.KOLUMNY(A:A)&$E2;$K$2:$K$2000;0);-9));"";PRZESUNIĘCIE($K$1;PODAJ.POZYCJĘ(LICZ.JEŻELI($A:$A;$E2)-NR.KOLUMNY(A:A)&$E2;$K$2:$K$2000;0);-9))
i kopia w dół do żądanej ilości oraz kopia w prawo do żądanej ilości. (wyszukuje kolejne imiona)
W F2:
=L2&M2&N2&O2&P2&Q2&R2&S2&T2&U2&V2&W2&X2&Y2&Z2&AA2&AB2&AC2&AD2&AE2&AF2&AG2&AH2&AI2&AJ2&AK2&AL2&AM2&AN2&AO2&AP2&AQ2&AR2&AS2&AT2&AU2&AV2&AW2&AX2
i kopia w dół do żądanej ilości (ja przyjąłem 40).
Efekt końcowy:
kol. E Kol F
Produkt Imiona
Chleb TadeuszMonikaWitoldAgata
Piwo MonikaRomekTadeuszTomek
Ser RomekTadeusz
Jabłko WiesiekTadeusz
Bułka Tadeusz
Pozdrawiam