Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Trovare numeri all'interno di stringhe di caratteri e associarne un testo

Ultimo Aggiornamento: 26/04/2020 15:11
Post: 15
Registrato il: 10/04/2018
Utente Junior
Excel 2010
OFFLINE
26/04/2020 12:54

Ciao a tutti,
in base ai numeri contenuti nelle stringhe di caratteri della colonna H, vorrei riportare i seguenti testi nella colonna M:

1. Se la colonna H contiene i numeri 21, 28, non contiene nessun numero, oppure è vuota, scrivi "Monthly" nella colonna M
2. Se la colonna H contiene i numeri 5,6, oppure 7 scrivi "Weekly" nella colonna M
3. Se la colonna H contiene il numero 3 scrivi "Biweekly" nella colonna M
4. Se la colonna H contiene il numero 2 scrivi "Triweekly" nella colonna M
5. Se la colonna H contiene il numero 1 scrivi "Daily" nella colonna M

Come si può fare utilizzando delle formule?

Grazie
Post: 713
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
26/04/2020 13:58

E se c'è IL numero 14 deve uscire Bimonthly??

Perchè non l'hai specificato
Post: 714
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
26/04/2020 14:19

Ciao
in AK2 da trascinare in basso

=SE.ERRORE(SE(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=3;"Triweekly";SE(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=2;"Triweekly";SE(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=1;"Daily";SE(E(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))>=5;CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))<=7);"Weekly";SE(O(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=21;CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=28);"Monthly";SE(CERCA(1E+100;--STRINGA.ESTRAI(G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(G2)))))=14;"Bimonthly"))))));"Monthly")
Post: 715
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
26/04/2020 14:50

Se non vuoi usare una formula cosi lunga

vai in GESTIONI NOMI->NUOVO-> si apre una finestra nel campo NOME scrivi form nel campo nel campo ambito selezioni Foglio1
e in fondo nel campo riferito a scrivi

=CERCA(1E+100;--STRINGA.ESTRAI($G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};$G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA($G2)))))

infine in AK2 da trascinare in basso

=SE.ERRORE(SE(form=3;"Triweekly";SE(form=2;"Triweekly";SE(form=1;"Daily";SE(E(form>=5;form<=7);"Weekly";SE(O(form=21;form=28);"Monthly";SE(form=14;"Bimonthly"))))));"Monthly")
26/04/2020 14:57

Complimenti DANILOFIORINI

L'ho fatto e lo sposto. Dato che 1 è presente in 14 e 21
Il 2 è presente in 21, suggerisco in AL2 =SE(G3="";"";1*STRINGA.ESTRAI(G3;CONFRONTA(VERO;VAL.NUMERO(1*STRINGA.ESTRAI(G3;RIF.RIGA($1:$9);1));0);CONTA.NUMERI(1*STRINGA.ESTRAI(G3;RIF.RIGA($1:$9);1))))
Formula matriciale CTRL+SHIFT+INVIO

In AK2 =SE(O(AL2="";AL2=21;AL2=28);"Monthly";SE(AL2=1;"Daily";SE(AL2=2;"Triweekly";SE(AL2=3;"Biweekly";SE(O(AL2=5;AL2=6;AL2=7);"Weekly";"")))))
Alla fine della formula tra "", metti quello che desideri per il 14
Post: 15
Registrato il: 10/04/2018
Utente Junior
Excel 2010
OFFLINE
26/04/2020 15:11

Re:
Ok, grazie


DANILOFIORINI, 26/04/2020 14:50:

Se non vuoi usare una formula cosi lunga

vai in GESTIONI NOMI->NUOVO-> si apre una finestra nel campo NOME scrivi form nel campo nel campo ambito selezioni Foglio1
e in fondo nel campo riferito a scrivi

=CERCA(1E+100;--STRINGA.ESTRAI($G2;PICCOLO(TROVA({0\1\2\3\4\5\6\7\8\9};$G2&"0123456789");1);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA($G2)))))

infine in AK2 da trascinare in basso

=SE.ERRORE(SE(form=3;"Triweekly";SE(form=2;"Triweekly";SE(form=1;"Daily";SE(E(form>=5;form<=7);"Weekly";SE(O(form=21;form=28);"Monthly";SE(form=14;"Bimonthly"))))));"Monthly")




Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 15:47. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com