› Sviluppare funzionalita su Microsoft Office con VBA › Raggruppa celle in base ad un valore
-
AutoreArticoli
-
Buongiorno, ho un file excel cosi strutturato:
NDG UCASE
NDG1 UC1
NDG1 UC2
NDG1 UC3
NDG1 UC4
NDG2 UC5
NDG2 UC6
NDG3 UC7
NDG3 UC8
NDG3 UC9
NDG3 UC10vorrei avere questo risultato:
NDG UCASE
NDG1 UC1 | UC2 | UC3 | UC4
NDG2 UC5 | UC6 | UC7
NDG3 UC8 | UC9 | UC10ho provato ad utilizzare questa funzione
Function Raggruppa(VRangeA As Range, VRangeB As Range) Dim VCel As Range For Each VCel In VRangeA Debug.Print VCel.Value If VCel.Value = VRangeB.Value Then Raggruppa = Raggruppa & VCel.Offset(0, 1).Value & " | " End If Next VCel End Functionho inserito nella cella la formula:
=Raggruppa(A2:A11,A2)
ma il risultato che ottengo non è quello desiderato
nella cella in cui ho inserito la formula, ottengo questo risultato
UC1 | UC2 | UC3 | UC4 |
è come se mi raggruppasse solamente i record relativi al primo valore
come posso modificarla per ottenere il risultato indicato sopra?
vi allego il file
grazie
Allegati:
You must be logged in to view attached files.ciao
se hai il 365 è semplice senza macro
metti in D1
=UNICI(A2:A11)
in E1
=TESTO.UNISCI("|";VERO;FILTRO($B$2:$B$11;$A$2:$A$11=$D1;""))
se hai versioni inferiori
si devono sostituire UNICI() e FILTRO() ............indice/confronta/conta.se()............indice/aggrega()
ma il grosso problema è il testo unisci che parte dal 2019
per versioni inferiori al 2019 consiglio il VBA con concatena si diventa matti
-
AutoreArticoli
