Risultati da 1 a 12 di 12

Discussione: Estrai-concatena



  1. #1
    L'avatar di BRAZ66
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    MILANO
    Età
    51
    Messaggi
    172
    Versione Office
    Excel 2013
    Likes ricevuti
    5
    Likes dati
    53

    Estrai-concatena

    Buon sabato a tutti,eccomi a chiedere un doppio aiuto per estrarre dati da ogni riga composta da 300celle con al massimo tre dati per ogni riga,il tutto in finale con disposizione ordinata per ordine crescente....sono in difficoltà,e chiedo un vostro aiuto. Vi ho allegato l'immagine che meglio spiega quello che dovrei ottenere. Vi ringrazio per la vostra pazienza ed attenzione che sempre mi date.

  2. #2
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Estrai-concatena

    Ciao Franco
    Prova a inserire un file di excel, cosi da evitare di riscrivere il tutto
    ciao

  3. #3
    L'avatar di BRAZ66
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    MILANO
    Età
    51
    Messaggi
    172
    Versione Office
    Excel 2013
    Likes ricevuti
    5
    Likes dati
    53

    Re: Estrai-concatena

    Ciao GERARDO ecco il file
    File Allegati File Allegati

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Estrai-concatena

    Ciao a tutti,

    certo che stai complicando sempre di più le cose
    sarebbe molto meglio usare il VBA per queste operazioni, comunque.....

    Entrambe matriciali:

    cella K2 (da copiare poi in basso):

    =CONCATENA(SE.ERRORE(INDICE($A2:$J2;PICCOLO(SE.ERRORE((1/($B2:$J2<>""))*RIF.COLONNA($B2:$J2);"");1));"");SE.ERRORE("-"&INDICE($A2:$J2;PICCOLO(SE.ERRORE((1/($B2:$J2<>""))*RIF.COLONNA($B2:$J2);"");2));"");SE.ERRORE("-"&INDICE($A2:$J2;PICCOLO(SE.ERRORE((1/($B2:$J2<>""))*RIF.COLONNA($B2:$J2);"");3));""))


    cella L2 (da copiare poi in basso e a destra):

    =SE.ERRORE(PICCOLO(SE.ERRORE(INDICE(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($A$1:$A$9)*2-1;2)*1;;)*(1/(SE(VAL.NUMERO(CONFRONTA(RIF.RIGA($A$1:$A$9);CONFRONTA(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($A$1:$A$9)*2-1;2)*1;;);INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($A$1:$A$9)*2-1;2)*1;;);0);0));CONFRONTA(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($A$1:$A$9)*2-1;2)*1;;);INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($A$1:$A$9)*2-1;2)*1;;);0);"")<>""));;);"");COLONNE($L2:L2));"")
    File Allegati File Allegati

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  5. I seguenti 4 utenti hanno dato un "Like" a cromagno per questo post:


  6. #5
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Estrai-concatena

    Io sono un po all'antica confronto a Tore ma si fa quel che si può

    in K2 stavo facendo questa formula che non mi fa impazzire ma sembra che funziona

    =SE(VAL.TESTO(B2);SINISTRA(B2;2)&STRINGA.ESTRAI(B2;3;3)&DESTRA(B2;3);"")&SE(VAL.TESTO(C2);"-"&SINISTRA(C2;2)&STRINGA.ESTRAI(C2;3;3)&DESTRA(C2;3);"")&SE(VAL.TESTO(D2);"-"&SINISTRA(D2;2)&STRINGA.ESTRAI(D2;3;3)&DESTRA(D2;3);"")&SE(VAL.TESTO(E2);"-"&SINISTRA(E2;2)&STRINGA.ESTRAI(E2;3;3)&DESTRA(E2;3);"")&SE(VAL.TESTO(F2);"-"&SINISTRA(F2;2)&STRINGA.ESTRAI(F2;3;3)&DESTRA(F2;3);"")&SE(VAL.TESTO(G2);"-"&SINISTRA(G2;2)&STRINGA.ESTRAI(G2;3;3)&DESTRA(G2;3);"")&SE(VAL.TESTO(H2);"-"&SINISTRA(H2;2)&STRINGA.ESTRAI(H2;3;3)&DESTRA(H2;3);"")&SE(VAL.TESTO(I2);"-"&SINISTRA(I2;2)&STRINGA.ESTRAI(I2;3;3)&DESTRA(I2;3);"")&SE(VAL.TESTO(J2);"-"&SINISTRA(J2;2)&STRINGA.ESTRAI(J2;3;3)&DESTRA(J2;3);"")

    Per il risultato finale ci sto lavorando ma ho il problema dell'ordine alfabetico

    ----------Post unito in automatico----------

    in L2 metti questa formula e trascinala a destra ed in basso

    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI("-"&$K$2;"-";RIPETI(" ";50));COLONNE($L2:L2)*50;50))

    non sono riuscito a metterli in ordine alfabetico



    Brazz credo che questa volta ci hai messo a dura prova, anche se il maestro (Tore) non fa sconti a nessuno..

    Un saluto

  7. I seguenti 2 utenti hanno dato un "Like" a Gerardo Zuccalà per questo post:


  8. #6

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Estrai-concatena

    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Io sono un po all'antica confronto a Tore ma si fa quel che si può

    in K2 stavo facendo questa formula che non mi fa impazzire ma sembra che funziona

    =SE(VAL.TESTO(B2);SINISTRA(B2;2)&STRINGA.ESTRAI(B2;3;3)&DESTRA(B2;3);"")&SE(VAL.TESTO(C2);"-"&SINISTRA(C2;2)&STRINGA.ESTRAI(C2;3;3)&DESTRA(C2;3);"")&SE(VAL.TESTO(D2);"-"&SINISTRA(D2;2)&STRINGA.ESTRAI(D2;3;3)&DESTRA(D2;3);"")&SE(VAL.TESTO(E2);"-"&SINISTRA(E2;2)&STRINGA.ESTRAI(E2;3;3)&DESTRA(E2;3);"")&SE(VAL.TESTO(F2);"-"&SINISTRA(F2;2)&STRINGA.ESTRAI(F2;3;3)&DESTRA(F2;3);"")&SE(VAL.TESTO(G2);"-"&SINISTRA(G2;2)&STRINGA.ESTRAI(G2;3;3)&DESTRA(G2;3);"")&SE(VAL.TESTO(H2);"-"&SINISTRA(H2;2)&STRINGA.ESTRAI(H2;3;3)&DESTRA(H2;3);"")&SE(VAL.TESTO(I2);"-"&SINISTRA(I2;2)&STRINGA.ESTRAI(I2;3;3)&DESTRA(I2;3);"")&SE(VAL.TESTO(J2);"-"&SINISTRA(J2;2)&STRINGA.ESTRAI(J2;3;3)&DESTRA(J2;3);"")

    Per il risultato finale ci sto lavorando ma ho il problema dell'ordine alfabetico
    Ciao Gerardo,

    come sai, c'è sempre più di una strada con excel
    ho optato per quella formula dopo aver letto la nota all'interno del file:
    devo estrarre i dati contenuti in ogni riga composta nel mio caso da circa 300 celle
    Comunque....vedo che ninai ( ) è in agguato, quindi mi aspetto a breve qualche "scappellotto"...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  9. I seguenti utenti hanno dato un "Like"


  10. #7
    L'avatar di BRAZ66
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    MILANO
    Età
    51
    Messaggi
    172
    Versione Office
    Excel 2013
    Likes ricevuti
    5
    Likes dati
    53

    Re: Estrai-concatena

    SIGNORI...: CHAPEAU..!!! siete dei MAESTRI.! Comunque non credevo (nella mia ignoranza )di aver posto una richiesta al limite di excell,ma ora visto la complessità e la formulazione me ne ricredo e Vi ringrazio tantissimo. Certo che per uno che mastica appena excell.....il VBA rimane un miraggio. Tutto funziona egregiamente..Grazie CROMAGNO e GERARDO.Purtroppo per Voi verrò ancora a bussare alla vostra porta..eheheh

  11. #8
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Estrai-concatena

    Questa formula è un ibrido tra la formula di Cromagno e il FREQUENZA

    In L2 da confermare Matriciale

    =SE.ERRORE(PICCOLO(SE(FREQUENZA(SE.ERRORE(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($K$1:$K$9)*2-1;2)*1;;);0);SE.ERRORE(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($K$1:$K$9)*2-1;2)*1;;);0))>0;SE.ERRORE(INDICE(STRINGA.ESTRAI(SOSTITUISCI($K2;"-";"");RIF.RIGA($K$1:$K$9)*2-1;2)*1;;);""));COLONNE($L2:L2));"")

  12. I seguenti 2 utenti hanno dato un "Like" a Gerardo Zuccalà per questo post:


  13. #9
    L'avatar di BRAZ66
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    MILANO
    Età
    51
    Messaggi
    172
    Versione Office
    Excel 2013
    Likes ricevuti
    5
    Likes dati
    53

    Re: Estrai-concatena

    Gerardo grazie per questa ulteriore versione...l'ho provata e funziona bene. Ho già in uso quella di Cromagno, ma la metterò nel mio archivio.....

  14. #10

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7159
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1300

    Re: Estrai-concatena

    Ciao a tutti,
    visto che vi siete divertiti con le formule provo col vba.

    Codice: 
    Option Explicit
    Sub concatena()
    Dim x As Integer, y As Integer, i As Integer, Row As Range
        Application.ScreenUpdating = False
                On Error Resume Next
                [K2:T7] = ""
                    For y = 2 To 7
                        For x = 2 To 10
                            If Cells(y, x) <> "" Then
                                Cells(y, 11) = Replace(Trim(Cells(y, 11) & " " & Cells(y, x)), " ", "-")
                                Cells(y, 12) = Mid(Cells(y, 11), 1, 2)
                                Cells(y, 13) = Mid(Cells(y, 11), 4, 2)
                                Cells(y, 14) = Mid(Cells(y, 11), 7, 2)
                                Cells(y, 15) = Mid(Cells(y, 11), 10, 2)
                                Cells(y, 16) = Mid(Cells(y, 11), 13, 2)
                                Cells(y, 17) = Mid(Cells(y, 11), 16, 2)
                                Cells(y, 18) = Mid(Cells(y, 11), 19, 2)
                                Cells(y, 19) = Mid(Cells(y, 11), 22, 2)
                                Cells(y, 20) = Mid(Cells(y, 11), 25, 2)
                                Cells(y, 21) = Mid(Cells(y, 11), 28, 2)
                            End If
                                For Each Row In Range("L" & y & ":" & "T" & y).Rows
                                    Row.Sort Key1:=Row, Order1:=xlAscending, Orientation:=xlSortRows
                                Next Row
                            For i = 12 To 23
                            If Cells(y, i) = Cells(y, i + 1) Then
                                Cells(y, i + 1) = ""
                            End If
                        Next
                    Next: Next
                [L2:Q7].Interior.ColorIndex = 43
                [R2:T7].Interior.ColorIndex = xlNone
        Application.ScreenUpdating = True
    End Sub
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  15. I seguenti utenti hanno dato un "Like"


  16. #11

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2810
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Estrai-concatena

    Visto che ci sono soluzioni alternative alle formule, allego la mia in VBA che fa uso di matrici:
    Codice: 
    Sub Estrai()
    'by Rubik72
    Dim Arr As Variant
    Dim myArr As String
    Dim iRow As Long
    Dim i As Integer
    Dim x As Integer
    
    
    Range("K2:Q7").ClearContents
    For iRow = 2 To 7
        myArr = ""
        For x = 2 To 10
            If Cells(iRow, x) <> "" Then
                myArr = myArr & Cells(iRow, x) & "-"
            End If
        Next
        myArr = Mid(myArr, 1, Len(myArr) - 1)
        Range("K" & iRow) = myArr
        Arr = Split(myArr, "-")
        
        Arr = EliminaDuplicati(Arr)
        Arr = SortArray(Arr)
        
        For i = 0 To UBound(Arr)
            If i > 5 Then Exit For
            Cells(iRow, i + 12) = Arr(i)
            Debug.Print Arr(i)
        Next
    Next
    
    
    
    
    End Sub
    
    
    Public Function SortArray(myArray)
    Dim SortTemp As Variant
    Dim i As Long
    Dim j As Long
    
    
    For i = LBound(myArray) To UBound(myArray)
        For j = i + 1 To UBound(myArray)
            If myArray(i) > myArray(j) Then
                SortTemp = myArray(j)
                myArray(j) = myArray(i)
                myArray(i) = SortTemp
            End If
        Next j
    Next i
    
    
    SortArray = myArray
    
    
    End Function
    
    
    Function EliminaDuplicati(myArr As Variant) As Variant
    Dim TempArr()
    Dim iArr As Single
    Dim i As Single
    Dim j As Single
    Dim ArrBool As Boolean
    
    
    For i = LBound(myArr) To UBound(myArr)
        ArrBool = False
    
    
        For j = LBound(myArr) To i
            If myArr(i) = myArr(j) And Not i = j Then
                ArrBool = True
            End If
        Next j
    
    
        If ArrBool = False Then
            ReDim Preserve TempArr(iArr)
            TempArr(iArr) = myArr(i)
            iArr = iArr + 1
        End If
    Next i
    
    
    EliminaDuplicati = TempArr
    End Function
    File Allegati File Allegati

  17. I seguenti utenti hanno dato un "Like"

    ges

  18. #12
    L'avatar di BRAZ66
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    MILANO
    Età
    51
    Messaggi
    172
    Versione Office
    Excel 2013
    Likes ricevuti
    5
    Likes dati
    53

    Re: Estrai-concatena

    Grazie per il vostro grande supporto....anche le formule vba le conserverò in archivio per quando riuscirò a farne un piccolo programma personale. GRAZIE

Discussioni Simili

  1. [Risolto] Concatena
    Di Paolerrai nel forum Domande su Microsoft Access
    Risposte: 6
    Ultimo Messaggio: 20/12/16, 23:01
  2. [Risolto] Problema con Concatena
    Di sergiogranero nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 02/12/16, 13:18
  3. [Risolto] Problema CONCATENA
    Di saturn87 nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 30/07/16, 12:29
  4. macro con funzione concatena
    Di ste75v nel forum Domande su Excel VBA e MACRO
    Risposte: 21
    Ultimo Messaggio: 07/07/16, 19:07
  5. Formato data in CONCATENA
    Di bobparr nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 26/02/16, 16:19

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •