estrai numeri da una cella
Hai un problema con Excel? 
estrai numeri da una cella
di contebaldi (utente non iscritto) data: 21/07/2013 21:33:46
come prendere il numero di 'n' cifre da una cella sommarlo es (456)=15,
se è divisibile per 'n' mettere il risultato in altra cella ,altrimenti "messaggio "
grazie
di Raffaele_53 (utente non iscritto) data: 21/07/2013 23:55:23
>>>es (456)=15
=SOMMA(STRINGA.ESTRAI(A1;1;1)+STRINGA.ESTRAI(A1;2;1)+STRINGA.ESTRAI(A1;3;1))
Se 'n' = 3
=SE(RESTO(SOMMA(STRINGA.ESTRAI(A1;1;1)+STRINGA.ESTRAI(A1;2;1)+STRINGA.ESTRAI(A1;3;1));LUNGHEZZA(A1))=0;SOMMA(STRINGA.ESTRAI(A1;1;1)+STRINGA.ESTRAI(A1;2;1)+STRINGA.ESTRAI(A1;3;1));"messaggio")
Se la cifra ed 'n' fosse un numero composto da quasi dieci cifre....
Oltre ad incrementare la formula puoi usare colonne d'appoggio.
A1 = 9876543210
B1 =SE(RIF.COLONNA()-1<=LUNGHEZZA($A1);STRINGA.ESTRAI($A1;RIF.COLONNA(A1);1)*1;"") e trascini a destra sino alla colonna J.
K1 =SE(RESTO(SOMMA(B1:J1);LUNGHEZZA(A1))=0;SOMMA(B1:J1);"messaggio")
di paolomath data: 22/07/2013 08:43:30
Buongiorno,
se il n° di cifre è variabile ti conviene utilizzare del codice.
Seleziona la cella con il numero in oggetto ed esegui la Sub, scrive il risultato nella cella a destra di quella selezionata.
Bye
Sub dividi()
Dim lunghezza As Integer
Dim somma As Long
lunghezza = Len(CStr(ActiveCell.Value))
somma = 0
Select Case lunghezza
Case 0
MsgBox "Dato mancante"
Case 1
If ActiveCell.Value = 1 Then ActiveCell.Offset(0, 1) = 1
Case Is > 1
For i = 1 To lunghezza
somma = somma + Mid(ActiveCell.Value, i, 1)
Next
If (ActiveCell.Value Mod lunghezza) = 0 Then
ActiveCell.Offset(0, 1) = (ActiveCell.Value) / lunghezza
Else
MsgBox "inserire messaggio"
End If
End Select
End Sub |
Vuoi Approfondire?