| | Post: 28 | Registrato il: 23/02/2014
| Città: AGUGLIANO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
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.
|
|
| | Post: 4.956 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
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 |
| | Post: 7.358 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
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 |
| | Post: 4.957 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
27/09/2023 11:22 | |
Salvatore l'ordinamento, visto che è una cosa banale, lo avevo lasciato all'utente
Alfredo |
| | Post: 783 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Senior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
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 |
| | Post: 7.359 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
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 |
| | Post: 784 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Senior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
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 |
| | Post: 1.224 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Veteran | 2016 | | OFFLINE |
|
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] |
| | Post: 319 | Registrato il: 11/07/2015
| Età: 33 | Utente Senior | office 2013-2016 | | OFFLINE | |
|
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 |
| | Post: 320 | Registrato il: 11/07/2015
| Età: 33 | Utente Senior | office 2013-2016 | | OFFLINE | |
|
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 |
| | Post: 28 | Registrato il: 23/02/2014
| Città: AGUGLIANO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
27/09/2023 22:09 | |
Grazie a tutti !!! |
| | Post: 29 | Registrato il: 23/02/2014
| Città: AGUGLIANO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
09/10/2023 08:53 | |
Se volessi avere dei valori da confrontare anche nella colonna A ? |
|
|