Se houver apenas um caractere lá, então, para o valor em A1
, a seguinte fórmula fará o seguinte:
=IF( ISNUMBER(A1), A1/1000, LEFT(A1,1) & MID(A1,2,LEN(A1)-1)/1000 )
Ou seja: se for um número simples, basta dividir por 1.000 usando A1/1000
. Caso contrário, copie o primeiro caractere usando LEFT(A1, 1)
e use &
para concatenar os caracteres restantes da posição 2 até o final dado por MID(A1, 2, LEN(A1)-1)
e dividido por 1.000.
(Paraverosdecimaisapósdividirpor1.000,podesernecessáriodefiniraformataçãodascélulasderesultadospararealmentemostrarosdecimais.Senão,então0.004
podeaparecercomo0
.)
Eunãopossotestarissocomoumamacro(oOpenOffice.orgtemumasintaxediferente),mastalvezissotefaçacomeçar.Totalmentebaseadoemalguns
Function DivideByThousand(s)
If Application.WorksheetFunction.IsNumber(s) Then
DivideByThousand = s / 1000
Else
DivideByThousand = Left(s, 1) & Mid(s, 2, Len(s)-1)/1000
End If
End Function
Sub RecalculateSelection
Dim cell As Excel.Range
For Each cell In Selection
cell.Value = DivideByThousand(cell.Value)
Next cell
End Sub