Excel Forum Per condividere esperienze su Microsoft Excel

Trovare valori uguali

  • Messaggi
  • OFFLINE
    Ro.BoBo
    Post: 28
    Registrato il: 23/02/2014
    Città: AGUGLIANO
    Età: 42
    Utente Junior
    2010
    00 26/09/2023 19:42
    Salve a tutti !!!
    Avrei la necessità di trovare i valori uguali nelle due colonne ( B;C ) e riportare il risultato nella colonna D come da esempio.
  • ONLINE
    alfrimpa
    Post: 4.956
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 27/09/2023 10:59
    Prova questa macro; i dati vengono estratti in colonna F

    vb
    Sub controllauguali()
    Dim i As Long
    Dim ur As Long
    Dim riga As Long
    riga = 1
    ur = Cells(Rows.Count, 2).End(xlUp).Row
    For i = 1 To ur
        If WorksheetFunction.CountIf(Range("c:c"), Range("B" & i).Value) > 0 And WorksheetFunction.CountIf(Range("F:f"), Range("B" & i).Value) = 0 Then
            Cells(riga, 6).Value = Range("b" & i)
            riga = riga + 1
        End If
    Next i
    End Sub

    Alfredo
  • OFFLINE
    by sal
    Post: 7.358
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 27/09/2023 11:12
    Ciao Prova anche questa

    Sub Uguali()
    Dim r, c, d, x, y, dd As New Collection
    
    r = 1
    c = 4
    Range("D:D").Clear
    For x = 1 To Cells(Rows.Count, 2).End(xlUp).Row
        d = Cells(x, 2)
        On Error Resume Next
        dd.Add d, CStr(d)
        On Error GoTo 0
    Next x
    For x = 1 To dd.Count
      d = Val(dd(x))
      For y = 1 To Cells(Rows.Count, 3).End(xlUp).Row
        If d = Cells(y, 3) Then Cells(r, c) = d: r = r + 1: Exit For
      Next y
    Next x
    Range("D1").CurrentRegion.Sort key1:=Range("D1"), order1:=xlAscending
    End Sub


    quella di Alfredo che saluto, è più lineare, e non usa la collection per i dati unici, ma non ordina, ma puoi ovviare copiando l'ultima mia riga cambiando "D1" in "F1"

    Ciao By Sal (8-D
    [Modificato da by sal 27/09/2023 11:15]
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • ONLINE
    alfrimpa
    Post: 4.957
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 27/09/2023 11:22
    Salvatore l'ordinamento, visto che è una cosa banale, lo avevo lasciato all'utente

    Alfredo
  • ONLINE
    L2018
    Post: 783
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 27/09/2023 11:52
    vedi che significa oziare facendo il moderatore ? devo essermi rimbecillito

    Alfredo e Sal, mi spiegate cosa si intende esattamente per

    trovare i valori uguali nelle due colonne ( B;C )

    Grazie
    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    by sal
    Post: 7.359
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 27/09/2023 11:56
    Ciao Leo niente di difficile, sarebbe un confronto tra le 2 colonne e trovare quali dati(numeri) sono presenti nelle 2 colonne.

    esempio il numero 100 e presente in una colonna e non nell'altra, quindi non viene riportato, se il numero 1 e presente sia nella colonna B che nella colonna C allora deve essere riportato nella colonna D o quella di scelta.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • ONLINE
    L2018
    Post: 784
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 27/09/2023 12:04
    ecco la mia stupidità, io cercavo le uguaglianze rigo per rigo invece di considerare tutta la colonna

    Grazie Sal, scusa

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    DANILOFIORINI
    Post: 1.224
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 27/09/2023 12:57

    Buongiorno a tutti lato formule

    Inserisci una riga in modo da fare partire i dati da riga 2.... uso una colonna di servizio in F2 da trascinare in basso


    =SE.ERRORE(AGGREGA(15;6;INDICE($C$2:$C$19;AGGREGA(15;6;RIF.RIGA($2:$19)-1/(CONTA.SE($B$2:$B$19;$C$2:$C$19)>0);RIF.RIGA($2:$19)-1));RIF.RIGA(A1));"")

    In D2 da trascinare in basso


    =SE.ERRORE(INDICE($F$2:$F$19;CONFRONTA(0;INDICE(CONTA.SE($D$1:$D1;$F$2:$F$19&"");;);0));"")


    [Modificato da DANILOFIORINI 27/09/2023 13:00]
  • OFFLINE
    Ulisse1990
    Post: 319
    Registrato il: 11/07/2015
    Età: 33
    Utente Senior
    office 2013-2016
    00 27/09/2023 17:12
    D1=SE.ERRORE(INDICE($C$1:$C$18;PICCOLO(SE(FREQUENZA(SE(VAL.NUMERO(CONFRONTA($C$1:$C$18;$B$1:$B$18;0));$C$1:$C$18);$C$1:$C$18);RIF.RIGA($C$1:$C$18)-RIF.RIGA($C$1)+1);RIGHE($A$1:A1)));"")

    Control+shift+enter

    copia in basso
  • OFFLINE
    Ulisse1990
    Post: 320
    Registrato il: 11/07/2015
    Età: 33
    Utente Senior
    office 2013-2016
    00 27/09/2023 17:13
    D1=SE.ERRORE(INDICE($C$1:$C$18;PICCOLO(SE(FREQUENZA(SE(VAL.NUMERO(CONFRONTA($C$1:$C$18;$B$1:$B$18;0));$C$1:$C$18);$C$1:$C$18);RIF.RIGA($C$1:$C$18)-RIF.RIGA($C$1)+1);RIGHE($A$1:A1)));"")

    Control+shift+enter

    copia in basso
  • OFFLINE
    Ro.BoBo
    Post: 28
    Registrato il: 23/02/2014
    Città: AGUGLIANO
    Età: 42
    Utente Junior
    2010
    00 27/09/2023 22:09
    Grazie a tutti !!!
  • OFFLINE
    Ro.BoBo
    Post: 29
    Registrato il: 23/02/2014
    Città: AGUGLIANO
    Età: 42
    Utente Junior
    2010
    00 09/10/2023 08:53
    Se volessi avere dei valori da confrontare anche nella colonna A ?