Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Удаление нулей с конца значения, Количество нулей в конце значения может быть от одного до много
 
Здравствуйте!
Помогите пожалуйста с формулой или макросом, которые могут зачистить с конца значения нули.
Смотрим пример.
 
вариант формулой
Код
=ОКРУГЛ(A2/1000000000;10)*ЕСЛИОШИБКА(--(1&ПОВТОР(0;ДЛСТР(ОКРУГЛ(A2/1000000000;10))-2));1)
Изменено: Сергей - 3 Мар 2015 15:02:50 (файл забыл причепить)
Лень двигатель прогресса, доказано!!!
 
Только математика:
=A2/10^(ПОИСКПОЗ(1<>1;A2/10^{1;2;3;4;5;6;7;8;9;10}-ЦЕЛОЕ(A2/10^{1;2;3;4;5;6;7;8;9;10})=0;)-1)
Математика+логика:
=A2/10^ПРОСМОТР(2;1/ПСТР(A2;{1;2;3;4;5;6;7;8;9;10};1);{9;8;7;6;5;4;3;2;1;0})
 
Да и без файла всё понятно.
Спасибо Сергей! То что надо!
Я с этим округлением три часа игрался, но до такой формулы как ваша так и не додумался.
 
апгрейт
Код
=ОКРУГЛ(A2/--(1&ПОВТОР(0;ДЛСТР(A2)-1));10)*ЕСЛИОШИБКА(--(1&ПОВТОР(0;ДЛСТР(ОКРУГЛ(A2/--(1&ПОВТОР(0;ДЛСТР(A2)-1));10))-2));1)
Лень двигатель прогресса, доказано!!!
 
Уверен, что можно упростить:
Код
=--ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(НОД(A2;10^(ДЛСТР(A2))))+1)
 
а мы короткими путями не ходим :D
Лень двигатель прогресса, доказано!!!
 
С НОД - отлично!
А упростить - ЛЕВБ и  ДЛСТР=10:
=--ЛЕВБ(A2;11-ДЛСТР(НОД(A2;10^9)))
 
Ничего простого, только хардкор:
Код
=--ПСТР(A11;1;ПРОСМОТР(100;1/ПСТР(A11;ДЛСТР(A11)+1-СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A11)));1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A11))))-1)
Где-то накосячил, пока мимо.
Изменено: Все_просто - 3 Мар 2015 15:26:30
С уважением,
Федор/Все_просто
 
Цитата
TRD написал: или макросом
Код
Sub Del_Zero()
Dim cl As Range
For Each cl In Selection.Cells
    I = Len(cl.Value) + 1
    Do While Mid(Str(cl.Value), I, 1) = 0
        cl.Value = Val(Left(cl.Value, Len(cl.Value) - 1))
        I = I - 1
    Loop
Next
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
еще чуть короче:
Код
=--ПОДСТАВИТЬ(A2/10^9;",";"")
Живи и дай жить..
 
Класс!
 
Код
Function DelZero(x) As Double
DelZero = StrReverse(--StrReverse(x))
End Function
Изменено: Казанский - 3 Мар 2015 16:17:03
 
Всем спасибо, все формулы работают.
Но если интересно, то некоторые формулы тайно мусорят -)
формулы.png (13.29 КБ)
Изменено: TRD - 3 Мар 2015 16:46:24
 
Вот еще:
Код
=--ЛЕВСИМВ(A2;ПРОСМОТР(ЛОЖЬ;ОСТАТ(A2/(СТЕПЕНЬ(ДЛСТР(A2);10-СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)))));10)=0;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)))))
С уважением,
Федор/Все_просто
 
И я! И у меня!
=ПСТР(((","&A2)*1);3;99)*1
А если как текст надо - тогда
=ПСТР(((","&A2)*1);3;99)
Изменено: Михаил Лебедев - 3 Мар 2015 20:17:46
 
кстати, да, логичное продолжение..

я сам начал с "поискпоз(пстр(", потом увидел пример с нод и перешел к делению
Живи и дай жить..
Страницы: 1
Читают тему (гостей: 1)