Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel - Associare a un valore un testo, funzione IF o macro?

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

Excel - Associare a un valore un testo, funzione IF o macro?

Postdi Neve78 » 28/03/12 11:23

Ciao a tutti, sono una neo iscritta e mi scuso sin d'ora se non sono stata chiara nel titolo del topic, ma effettivamente non so nemmeno io come spiegare cio' di cui ho bisogno.
Premetto anche che non sono esperta di Macro (non ne ho mai fatta una) e so inserire a malapena qualche funzione in excel e che utilizzo Excel 2007 in inglese.
Vi spiego quello che dovrei fare :?: :
Ho il file xls di una fattura di telefonia nel quale compaiono i numeri di cellulare (piu' di 200) e la spesa complessiva per ogni numero, questi dati sono riassunti in un unico spreadsheet, quindi mettiamo ad esempio COLONNA A: nr di cellulare - COLONNA B: importi.
Avrei bisogno di creare una COLONNA C con i nomi delle persone che utilizzano quel numero di cellulare, quindi dirgli qualcosa tipo <se nella cella A1 c'e' il nr 335xxxxxx, nella cella C1 ci deve essere il nome "Rossi">
Ho un altro file xls a parte con i nr di cellulare e i rispettivi utilizzatori, non so se e' possibile far interagire i due file e come.
Vi ringrazio anticipatamente per il vostro tempo!!
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Sponsor
 

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Flash30005 » 28/03/12 11:31

Ciao Neve78 e benvenuta nel Forum

Cercherò di essere veloce prima che ti squagli :D

Comporta qualcosa per te copiare il foglio del secondo file (numeri e nomi), con duplica nel file1?
In maniera da avere tutti i dati in unico file (e fogli diversi)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 28/03/12 11:38

Ciao Flash,

no, potrei copiare i dati in un unico file, per quello non ho problemi.
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi ricky53 » 28/03/12 12:12

Ciao,
benvenuta nel nostro forum anche da parte mia.

C'è la possibilità che Flash ti proponga una ottima macro che faccia tutto e ... conoscendolo anche di più ...

Partendo da un unico file che contiene due fogli (unione dei due file excel) , provo a dare il mio contributo suggerendoti l'utilizzo della funzione "CERCA.VERT" visto il numero ridotto di righe (ordine delle centinaia) e di solo quattro colonne.
La conosci ?
Sai applicarla ?

Qualcosa di simile a
Codice: Seleziona tutto
=CERCA.VERT(numero cellulare del foglio1;  Foglio2!intervallo sul quale cercare; numero colonna che contiene il cognome dell'utilizzatore; FALSO)

Leggi la guida on line sulla funzione: è esaustiva.

In caso ... mi trovi QUI
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Flash30005 » 28/03/12 12:24

Proviamo a mantenere la stessa struttura dei dati in due file separati (come li hai ora)

Apri il file contenente Numeri telefono e costi (che chiamo File1)
premi ALT+F11
Si aprirà la finestra del Vba, sul Menu -> Inserisci scegli Modulo
e nella finestra di destra (cursore intermittente) incolla il codice che ti posto qui (copia l'intero codice con "Seleziona Tutto")
Codice: Seleziona tutto
Sub CompilaNomi()
Perc = ThisWorkbook.Path
File1 = ThisWorkbook.Name
File2 = "File2.xls" '<<<< sostituire con il nome effettivo del file avente i nomi
Worksheets("Foglio1").Select   '<<<< modificare con il nome del foglio con i n.telefono e costo
UR1 = Worksheets("foglio1").Range("A" & Rows.Count).End(xlUp).Row
If UR1 < 2 Then UR1 = 2
Range("C2:C" & UR1).ClearContents
Set XlDat = Workbooks.Open(Filename:=Perc & "\" & File2)

Worksheets("Foglio1").Select '<<<<< modificare con il nome del foglio avente i nomi
UR2 = Worksheets("foglio1").Range("A" & Rows.Count).End(xlUp).Row
For RR2 = 2 To UR2
For RR1 = 2 To UR1
    If Range("A" & RR2).Value = Workbooks(File1).Sheets("Foglio1").Range("A" & RR1).Value Then
        Workbooks(File1).Sheets("Foglio1").Range("C" & RR1).Value = Range("B" & RR2).Value
        GoTo SaltaRR2
    End If
    Next RR1
SaltaRR2:
Next RR2
Workbooks(File2).Close savechanges:=False
End Sub


Prima di avviare la macro, dovrai modificare il nome del file2 e dei fogli inserendo i nomi effettivi (che hai)
nelle righe evidenziate (con '<<<< colore verde)

Ti invio anche i due file che potrai usare come test, scompattali nella stessa directory
download file

Fai sapere
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 28/03/12 14:05

ragazzi grazie, posso provare domani che ora non posso. Vi faccio certamente sapere!!!
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 29/03/12 10:55

Ciao, ho provato a fare quello che ha suggerito Flash...ma sicuramente ho sbagliato qualcosa o non so come avviare la macro.
Ho modificato in tutto 3 nomi (il nome del file2, e i due nomi dei 2 fogli del primo e del secondo file), solo dove c'era la nota in verde di modifica (non ho cancellato la tua nota, ho visto che hai messo un apostrofo e ho pensato che non interferisse con il testo della macro).
Solo che...come si avvia la macro? Poi che devo fare? Scusate l'ignoranza ma parto proprio da zero.... :P
I due files li ho messi nella stessa directory.
Ma poi non ho capito cosa dovrebbe succedere...mi crea una colonna in piu' con la lista dei nomi di fianco ai costi?
Calcolate anche che nei due files i numeri di telefono non sono nello stesso ordine.
Ora provo anche a fare quello che suggeriva Ricky53, anche se non ho mai utilizzato la funzione cerca.vert
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 29/03/12 11:22

ricky53 ha scritto:Ciao,
benvenuta nel nostro forum anche da parte mia.

C'è la possibilità che Flash ti proponga una ottima macro che faccia tutto e ... conoscendolo anche di più ...

Partendo da un unico file che contiene due fogli (unione dei due file excel) , provo a dare il mio contributo suggerendoti l'utilizzo della funzione "CERCA.VERT" visto il numero ridotto di righe (ordine delle centinaia) e di solo quattro colonne.
La conosci ?
Sai applicarla ?

Qualcosa di simile a
Codice: Seleziona tutto
=CERCA.VERT(numero cellulare del foglio1;  Foglio2!intervallo sul quale cercare; numero colonna che contiene il cognome dell'utilizzatore; FALSO)

Leggi la guida on line sulla funzione: è esaustiva.

In caso ... mi trovi QUI



Non ci sono riuscita...mi esce l'errore #VALUE!
A parte che io ho excel in inglese, credo che la funzione sia FIND.
Ho scritto questa stringa:

=FIND('Riepilogo dei Costi'!A2;'Linee attive con nomi'!A2:A267;'Riepilogo dei Costi'!B:B)

Ho messo in un unico file i due fogli.
Mi ritrovo nel foglio 1 (Riepilogo dei costi):
COL. A --> numeri di telefono
COL. B --> costi
Nel foglio 2 (Linee attive con nomi):
COL. A --> numeri di telefono
COL. B --> nomi utilizzatori

Vorrei creare nella COL. C del primo foglio (Riepilogo dei costi) la lista dei nomi accanto al costo.

Grazie
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi wallace&gromit » 29/03/12 11:53

ciao neve,
subentro io per darti solo qualche dritta, il "grosso" del lavoro lo lascio a Ricky e Flash.
La traduzione di cerca in inglese non è find (che significa trova) ma search. Non esiste qualcosa tipo "search.vert" ?
Inoltre mi sembra che il tuo terzo riferimento sia sbagliato:
mi aspetto che il nome di riferimento sia nel foglio "Linee attive con nomi", ma forse non ho capito bene la struttura dei tuoi fogli.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 29/03/12 13:36

oddio...a sto punto inizio a incasinarmi sempre piu'.
si, in effetti la traduzione di cerca e' search ma non la trovavo, controllando meglio invece l'ho trovata, solo che non mi sembra ci sia "SEARCH.VERT" ma solo "SEARCH".
Inoltre mi sono imbattuta in un'altra funzione che forse potrebbe aiutarmi: VLOOKUP....
Solo che non capisco bene il meccanismo.

Vi rispiego come e' il mio file unito copiando un pezzettino dei dati, i dati sono inseriti senza celle vuote a sinistra e in alto, quindi si parte dalla cella A1 in cui c'e' il titolo della colonna "Numero di telefono":

Worksheet 1 "Riepilogo dei costi"

Numero di telefono Totale Costi
342xxxxxxx 4.741,87
342xxxxxxx 97,81
346xxxxxxx 53,00
340xxxxxxx 82,57
340xxxxxxx 38,73

Worksheet 2 "Linee attive con nomi"

NUMERO Utente
340xxxxxxx Rossi M.
342xxxxxxx Bianchi R.
342xxxxxxx Verdi C.
346xxxxxxx Neri W.
340xxxxxxx Gialli G.

I numeri dei 2 worksheets sono in ordini differenti.

Vorrei creare in automatico nella colonna C del worksheet 1 (Riepilogo dei costi) i nomi accanto ai costi associati ai numeri telefonici.

Grazie
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi ricky53 » 29/03/12 14:03

Ciao,
la funzione "CERCA.VERT" in inglese è "VLOOKUP".
La sintassi è la stessa di quella italiana

Leggi la guida ... utilizzare la funzione è molto più facile di quanto possa sembrare.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi wallace&gromit » 29/03/12 14:11

prova con
Codice: Seleziona tutto
=VLOOKUP(Riepilogo dei costi!A2;Linee attive con nomi!A2:Bx;2;0)

dove x sta per un numero di righe in cui sono contenuti tutti i dati.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Flash30005 » 29/03/12 19:26

Neve78 ha scritto:Ciao, ho provato a fare quello che ha suggerito Flash...ma sicuramente ho sbagliato qualcosa o non so come avviare la macro.
...
Ma poi non ho capito cosa dovrebbe succedere...mi crea una colonna in piu' con la lista dei nomi di fianco ai costi?


Ma scusa non chiedevi questo?
Neve78 ha scritto:Avrei bisogno di creare una COLONNA C con i nomi delle persone che utilizzano quel numero di cellulare


Non mi è mai piaciuto lasciare le cose in sospeso.
Se hai scaricato i miei due file e inseriti nella stessa directory,
apri File1 e cancella manualmente i nomi in colonna C
premi il comando AVVIO e avrai di nuovo i nomi che corrispondono al numero di cellulare che si trova in colonna A
questi nomi (non te ne sarai accorta) vengono presi dal File2 che è nella stessa directory e chiuso (ci pensa la macro ad aprire quel file, assegnare i nomi e richiuderlo).
I numeri di telefono non sono in ordine nei due file
infatti se apri manualmente il file2 ti accorgerai che sono in ordine diverso.

Dov' è il problema?
Se ti funziona bene così, poi, provvediamo ad adattarla ai tuoi file e fogli

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi ricky53 » 29/03/12 23:28

Ciao Neve,
consiglio: NON utilizzare gli spazi nei nomi dei fogli, potrebbero darti darti fastidio ed è sempre necessario inserire l'apice prima e dopo il nome del foglio.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 03/04/12 11:07

Flash30005 ha scritto:
Neve78 ha scritto:Ciao, ho provato a fare quello che ha suggerito Flash...ma sicuramente ho sbagliato qualcosa o non so come avviare la macro.
...
Ma poi non ho capito cosa dovrebbe succedere...mi crea una colonna in piu' con la lista dei nomi di fianco ai costi?


Ma scusa non chiedevi questo?
Neve78 ha scritto:Avrei bisogno di creare una COLONNA C con i nomi delle persone che utilizzano quel numero di cellulare

Si. La mia era una domanda retorica...

Non mi è mai piaciuto lasciare le cose in sospeso.
Se hai scaricato i miei due file e inseriti nella stessa directory,
apri File1 e cancella manualmente i nomi in colonna C
premi il comando AVVIO e avrai di nuovo i nomi che corrispondono al numero di cellulare che si trova in colonna A
questi nomi (non te ne sarai accorta) vengono presi dal File2 che è nella stessa directory e chiuso (ci pensa la macro ad aprire quel file, assegnare i nomi e richiuderlo).
I numeri di telefono non sono in ordine nei due file
infatti se apri manualmente il file2 ti accorgerai che sono in ordine diverso.

Dov' è il problema?
Se ti funziona bene così, poi, provvediamo ad adattarla ai tuoi file e fogli

Ciao


Scusate se non ho risposto subito ma sono troppo incasinata!!!
Flash, ho scaricato i tuoi file e funziona perfettamente, e' il risultato che devo ottenere. :!:
Mi dici esattamente cosa devo scrivere nel modulo di VBA, calcola che ho unito i files ora e sono su unico file che chiamero' "prova nomi.xls", il primo worksheet si chiama "Riepilogo dei costi" e il secondo worksheet si chiama "Linee attive con nomi".
Dimmi 'paro paro' quello che devo fare essendo la prima volta che uso VBA.
Grazie grazie grazie! Acquistero' un cappello a punta con le orecchie... :oops:
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Anthony47 » 03/04/12 13:26

Ma la formula con VLOOKUP l' avevi provata? con che risultato?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 03/04/12 13:58

Anthony47 ha scritto:Ma la formula con VLOOKUP l' avevi provata? con che risultato?

Ciao

O sono una capra io...e la cosa e' probabile...oppure continuo a cannare qualcosa.
L'ho provata, ho scritto

=VLOOKUP(Riepilogo dei costi!A2;'Linee attive con nomi'!A2:B267;2;0)

Mi esce il messaggio di errore #NAME!
:(
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi wallace&gromit » 03/04/12 14:12

Dovrebbero mancare solo due apici per Riepilogo costi:
Codice: Seleziona tutto
=VLOOKUP('Riepilogo dei costi'!A2;'Linee attive con nomi'!A2:B267;2;0)
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi Neve78 » 03/04/12 14:22

wallace&gromit ha scritto:Dovrebbero mancare solo due apici per Riepilogo costi:
Codice: Seleziona tutto
=VLOOKUP('Riepilogo dei costi'!A2;'Linee attive con nomi'!A2:B267;2;0)


Ok...attenzione che forse ci siamo...
ho inserito gli apici e ora vedo i nomi nella colonna C, ho trascinato la formula per tutta la lunghezza della colonna.
PEro' c'e' ancora qualcosa che non va, alcuni nomi me li inserisce, ma in alcune celle mi da l'errore #N/A, come mai?
C'e' qualcosa di strano, ho clikkato 2 volte nella cella del foglio 1 in cui ho il nr di cellulare, in corrispondenza di uno di questi errori, e magicamente mi e' comparso il nome al posto dell'errore...poi ho provato in altre e non e' successo nulla, in altre ancora dove non c'e' l'errore se faccio la stessa cosa invece mi compare l'errore, da che dipende??
Neve78
Utente Junior
 
Post: 15
Iscritto il: 28/03/12 11:09

Re: Excel - Associare a un valore un testo, funzione IF o ma

Postdi wallace&gromit » 03/04/12 14:30

Per potere trascinare devi bloccare le celle di riferimento, quindi dieventa così:

Codice: Seleziona tutto
=VLOOKUP('Riepilogo dei costi'!A2;'Linee attive con nomi'!$A$2:$B$267;2;0)
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel - Associare a un valore un testo, funzione IF o macro?":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti