› Excel e gli applicativi Microsoft Office › ricerca tra due liste di numeri
-
AutoreArticoli
-
Salve a tutti, ho creato un foglio in cui ho inserito nella colonna B migliaia di numeri telefonici (moltissimi nel formato +39340xxxxxxx;+39333xxxxxx). Nella colonna D ho inserito moltissimi altri numeri telefonici (nel formato normale 340xxxxxx). La mia necessità è quella di sapere quale numero della colonna D è presente nella colonna B. È possibile tale ricerca?
Allegati:
You must be logged in to view attached files.Sicuro d'aver allegato il files giusto?
ciao
che versione hai di excel
Mah, spero che le x siano numeri, prova questo codice
Option Explicit Sub cerca() Dim uR1 As Long, uR2 As Long, X As Long, rG As Object uR1 = Range("D" & Rows.Count).End(xlUp).Row For X = 3 To uR1 Set rG = Range("B:B").Find("*" & Cells(X, 4) & "*", LookIn:=xlValues, LookAt:=xlWhole) If rG Is Nothing Then Cells(X, 3) = "ND" Else Cells(X, 3) = "Riga " & rG.Row End If Next MsgBox "Fatto" End Sub
ciao,
se vuoi un elenco di numeri in D presenti in B:
=INDICE(B3:B3000;LET(t;SE(TROVA(A.RIGA(INDIRETTO("D3:D"&2+SOMMA(1*VAL.NUMERO(D3:D3000))));B3:B31);SEQUENZA(18));AGGREGA(15;6;t;SEQUENZA(CONTA.NUMERI(t)))))
se in colonna C vuoi invece sapere, per ogni numero in colonna D, se è presente o meno on B, in C3 e trascini in basso
=SE(D3="";"";SE(SOMMA(SE.ERRORE(TROVA(D3;$B$3:$B$3000);0))>0;"già presente";""))
Come l'ultima formula ma matriciale (una o l'altra)
=MAP(B3:B3000;D3:D3000;LAMBDA(b;d;SE(d="";"";SE(SOMMA(SE.ERRORE(TROVA(d;$B$3:$B$3000);0))>0;"già presente";""))))
=SCAN(0;D3:D3000;LAMBDA(a;d;SE(d="";"";SE(SOMMA(SE.ERRORE(TROVA(d;$B$3:$B$3000);0))>0;"già presente";""))))
ciao
altra possibilità
=UNICI(LET(S;SOSTITUISCI(SOSTITUISCI(DIVIDI.TESTO(TESTO.UNISCI(";";;B3:B2000);;";";VERO);"+"&39;"";1);";";"");FILTRO(S;CONTA.SE(D3:D2000;S))))
-
AutoreArticoli