Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL] restituisci 3 se compare "2+1"

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] restituisci 3 se compare "2+1"

Postdi carexe » 09/06/07 19:22

Ho un problemino che nn riesco a risolvere facilmente (magari è banale).
In una colonna ho dei valori numerici interi, ma può anche esserci ad es: "2+1" o "3+2" ecc.: come posso nella casella SOMMA conteggiare effettivamente il "2+1" = 3.
Es:
2
3
4
2+1
3+2
5

SOMMA=22
carexe
Newbie
 
Post: 4
Iscritto il: 07/06/07 13:45

Sponsor
 

Postdi Anthony47 » 10/06/07 23:16

Ciao carexe,
Se sono errori di battitura che si possono ripetere, sappi che se spunti “Immissione alternative delle formule” (Menu /Strumenti /Opzioni; tab Passaggio) allora potrai scrivere 2+1 (che viene calcolato come 3) invece di =2+1

Se devi recuperare una tantum dei dati scritti male, allora lo possiamo fare “a mano” usando excel: inserisci due colonne accanto ai dati esistenti; selezioni tutti i dati, giusti (es 4) o sbagliati (es 3+2) che siano; poi Menu /Dati /Testo in colonna; scegli “Delimitati”, Avanti; spunti la voce “Altro” e inserisci + nello spazio accanto; completi con Fine. In questo modo eventuali 3+2 vengono spalmati su 2 colonne; nella terza colonna, prima riga scrivi la formula =A1+B1 (se i dati sono in colonna A e B), poi copi questa formula verso il basso; se serve puoi congelare i dati con Copia e Incolla speciale /Valori.

Se invece e’ un problema ripetitivo e irrisolvibile a monte, o facciamo una “Funzione utente” che somma gli eventuali addendi (es =SOMMAPIU(A1), se A1 contiene 3+2 produrra 5), oppure una macro che spazzola i dati in verticale e trasforma eventuali celle anomale (es 3+2) in celle normalizzate (5).

Trovi lo spunto buono? 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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi carexe » 11/06/07 14:12

Grazie intanto!
Delle 3 soluzioni che mi prospetti vorrei adottare quella che tu indichi come "funzione utente SOMMAPIU", ma nella guida nn riesco a trovare questa funzione e con la sintassi da te indicata mi da errore.
La prima soluzione mi fa sparire dall'input la dicitura "2+1" (trasformandola in 3), che invece deve restare indicata. Per la macro invece..per me è ancora troppo complicato usarle!
carexe
Newbie
 
Post: 4
Iscritto il: 07/06/07 13:45

Postdi Anthony47 » 11/06/07 23:11

SOMMAPIU non esiste in excel, la dobbiamo programmare noi. Allo scopo:
-Da excel apri il vba editor con Alt-F11
-fai Menu /Inserisci /Modulo
-copi le istruzioni successive e le incolli nel frame bianco di destra (sono 2 funzioni):
Codice: Seleziona tutto
Function sommapiu(jj)
sommapiu = 0
I = 1
riloo:
MaxI = Len(jj)
If Mid(jj, I, 1) = "+" Then
sommapiu = sommapiu + Val(Left(jj, I - 1))
jj = Mid(jj, I + 1, 99)
I = 0
End If
I = I + 1
If I < MaxI Then GoTo riloo
sommapiu = sommapiu + Val(jj)
End Function

Function sommanth(Rjj)
sommanth = 0
For Each cell In Rjj
'Call sommapiu(cell.Value)
sommanth = sommanth + sommapiu(cell.Value)
Next cell
End Function



A questo punto torni su excel e usi SOMMAPIU per elaborare il risultato di una singola cella [es =SOMMAPIU(A2) ] oppure SOMMANTH per fare la somma di piu’ celle di un range contiguo [es =SOMMANTH(A2:A22) ]

Ovviamente queste funzioni le puoi inserire anche in formule combinate con altre funzioni.

E’ sufficiente? 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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] restituisci 3 se compare "2+1"":


Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti