Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Differenziare numero telefono fisso e mobile

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Differenziare numero telefono fisso e mobile

Postdi smantha77 » 26/03/20 18:36

Ciao,
sto cercando ispirazione su come gestire un problema.
Ho una colonna che contiene numeri di telefono. Possono essere numeri fissi o cellulari. Possono avere il +39 iniziale o non averlo. I fissi possono avere lo 0 iniziale o non averlo.

Vorrei:
1 normalizzarli ad un formato standard +39<prefisso><numero>
2 differenziarli tra fisso e mobile

Posso creare tutte le colonne d'appoggio che voglio.
Come "aiuto" avrei una colonna in cui l'utente mi specifica di che tipo di telefono si tratta, ma non posso farci troppo affidamento.

Mi sono gia scaricata la lista dei prefissi mobili italiani.
I will follow Him,
Follow Him wherever He may go,
There isn't an ocean too deep,
A mountain so high it can keep,
Keep me away, away from HIM
smantha77
Utente Junior
 
Post: 32
Iscritto il: 13/03/03 14:21

Sponsor
 

Re: Differenziare numero telefono fisso e mobile

Postdi alfrimpa » 26/03/20 18:59

Sarebbe utile vedere un file di esempio con dati non sensibili per vedere la casistica possibile di questi.

Ma la vedo abbastanza dura se le cose stanno come hai detto.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Differenziare numero telefono fisso e mobile

Postdi Ricky0185 » 26/03/20 22:46

Intanto vedi se usando i cancelletti nella formattazione personalizzata del numero ottieni quello che vuoi, poi eventualmente copi la formattazione sui numeri che ti interessa trattare. Per esempio 3281234567 formattato personalizzato ### ## ## ### diventa 328 12 34 567 e così 0612345678 (che quando lo scrivi perdi lo zero) formattato personalizzato "0"## ## ## ## ## diventa 06 12 34 56 78 oppure "+39 0"## ## ## ## ## diventa +39 06 12 34 56 78. Se non vuoi gli spazi nel numero eliminali tra i cancelletti.
Poi aspettiamo altri suggerimenti.
Ciao
Ricky0185
Utente Junior
 
Post: 20
Iscritto il: 10/12/19 20:38

Re: Differenziare numero telefono fisso e mobile

Postdi alfrimpa » 27/03/20 15:49

I prefissi dei cellulari italiani vanno da 320 a 393

Quindi valutando con uno STRINGA.ESTRAI() le tre cifre successive a 39 si può dire a prescindere dalla formattazione se si tratta di un numero di cellulare.

Poi, se tra i prefissi dei comuni non ce ne è qualcuno uguale ad un qualche prefisso per cellulare la cosa è banale; basta un SE() ed uno STRINGA.ESTRAI()

Ma se Smantha77 non torna a farsi sentire son tutti discorsi a vanvera.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Differenziare numero telefono fisso e mobile

Postdi Anthony47 » 27/03/20 19:36

Ho provato a fare un esercizio, lo condivido aggiungendolo alle proposte /considerazioni di Alfredo e Ricky...

Cominciamo a formattare tutte le colonne del foglio iniziale vuoto come Testo
Elenchiamo in colonna M tutti i prefissi noti dei cellulari; si puo' partire da https://it.wikipedia.org/wiki/Prefissi_ ... i_italiani

Elenchiamo in colonne P e Q i prefissi delle aree geografiche con la localita' di riferimento; si puo' partire da https://www.paginebianche.it/prefissi-italia.htm
I prefissi in colonna Q devono risultare di 2, 3 o 4 caratteri; es 02-Milano; 030-Brescia; 0121-Pinerolo

Noterete che ci sono prefissi che possono essere confusi tra Fisso e Mobile; certamente 324, 331, 343 (poi ho smesso di guardare)

Formattiamo le colonne B:J come Generale, perche' ci metteremo delle formule

Inseriamo in A2:K2 queste intestazioni: N° Originale/Normalizzato/?0/?Cell/?Fix/vuoto/Mob/Fix/???/Area/Risolvi

Inseriamo, come testo i numeri in nostro possesso in colonna A, da A3 verso il basso; assumo che siano senza il prefisso internazionale.

Inseriamo in C3:J3 rispettivamente queste formule (la formula in E3 va confermata con Contr-Maiusc-Enter, non il solo Enter)
Codice: Seleziona tutto
=SE(SINISTRA(A3;1)="0";1;0)

=SE(E(CONTA.SE($N$2:$N$101;SINISTRA(A3;3))>0;LUNGHEZZA(A3)>8);1;0)

=SOMMA(CONTA.SE($P$2:$P$1001;0&SINISTRA(SE(C3=0;A3;STRINGA.ESTRAI(A3;2;99));{1.2.3}))*(10^({0.1.2})))

(F3 rimane vuote)

=--(E(C3=0;D3=1;E3=0))

=--(O(E(E3>0;D3=0);(E(C3=1;E3>0))))

=--(E(G3=0;H3=0;A3<>""))

=SE(A3<>"";SE(I3=1;"??";"")&SE(G3=0;CERCA.VERT("0"&STRINGA.ESTRAI(A3;C3+1;LUNGHEZZA(E3));$P$2:$Q$1001;2;0);"#Cell");"")

Suggerisco di formattare C3:I3 con lo stile "Separatore" (e' quello che in genere viene mostrato con l'icone "000") e riducete i decimali, in modo che i risultati siano mostrati come visibile in figura.

Copiate E3:J3 verso il basso, per tutto l'elenco dei numeri presenti in colonna A e anche oltre

In colonne C-D-E ci sono dei dati intermedi; cioe' (rispettivamente)
-se il numero di colonna A comincia con 0
-se i primi 3 numeri di colonna A corrispondono a un prefisso elencato in colonna N
-se le prime cifre in testa al numero di col A corrispondono a un prefisso elencato in colonna P; la lunghezza del risultato indica la lunghezza del prefisso trovato

I risultati di colonne C-D-E consentono di elaborare le ipotesi di Mobile o Fisso (col G-H):
-sono Mobili i numeri che non cominciano per 0, hanno un prefisso che "sembra" di cellulare e non puo' essere di numero fisso
-sono Fissi i numeri che hanno un prefisso che sembra di numero fisso e non sembra di cellulare, o che cominciano con 0 e hanno un prefisso che sembra di numero fisso
Sono ???=Dubbi tutti quelli che non appartengono ne' ai Mob ne' ai Fissi

In colonna J provo a estrarre la localita' a cui e' intestato l'ipotetico prefisso del possibile numero fisso

In colonna K l'operatore puo' forzare (dopo i dovuti controlli) l'assegnazione di un numero dubbio alla rete F=Fissa oppure M=Mobile
L'intervento in colonna K ha senso per le colonne I=???, mentre puo' dare luogo a risultati ambigui se fatto su numeri assegnati gia' (vedi colonne G:H) alla rete Mobile o Fissa

Dopo tutte queste premesse, possiamo provare a "normalizzare" il numero, se ci sono le condizioni; per questo si inserisce in B3 la formula
Codice: Seleziona tutto
=SE(A3<>"";SE(O(SINISTRA(A3;1)="+";SINISTRA(A3;2)="00");A3;SE(O(G3=1;K3="M");"+39 "&SINISTRA(A3;3)&" "&TESTO(STRINGA.ESTRAI( A3;4;99);"### ###");SE(O(H3=1;K3="F");"+39 "&SINISTRA(RIPETI("0";1-C3)&A3;1+LUNGHEZZA(E3))&"-"&STRINGA.ESTRAI(RIPETI("0";1-C3)&A3;2+LUNGHEZZA(E3);99);"###")));"")

Se i numeri di colonna A hanno gia' un prefisso internazionale, allora le elaborazioni di colonne C:I non hanno valore e in colonna B viene replicato esattamente il contenuto di colonna A

Ecco come si comporta quello che ho qui descritto su un mio foglio di prova:

ImmagineClicca sull'immagine per vederla tutta

Spero che troviate qualche spunto utile...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 16797
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Differenziare numero telefono fisso e mobile

Postdi Anthony47 » 28/03/20 11:37

Per chi lavora su XL2003: il separatore per le matrici di costanti mi pare sia il Backslash (\) e non il Punto (.)
Adattate quindi le formule che includono matrici di costanti: vedasi {0.1.2} che quindi diventa {0\1\2}

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 16797
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Differenziare numero telefono fisso e mobile":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti