Здравствуйте!
Есть такая проблема.
Необходимо посчитать количество значащих цифр после точки у числа и убрать лишние нули. Если окажется что число - целое, необходимо убрать и разделительный знак.
Пример во вложении. Я сделал формулу, но мне она кажется слишком громоздкой и нерациональной.
Абсолютно точно это можно сделать за один шаг.
=ЕСЛИ(ПОИСК(".";A2)+1=ПОИСК("0";A2;ПОИСК(".";A2;1));ЛЕВСИМВ(A2;ДЛСТР(A2)-(ДЛСТР(A2)-ПОИСК("0";A2;ПОИСК(".";A2;1))+2));ЛЕВСИМВ(A2;ДЛСТР(A2)-(ДЛСТР(A2)-ПОИСК("0";A2;ПОИСК(".";A2;1))+1)))
На ошибку при выдаче числа 1.123 не обращайте внимание, это легко исправить.
Все это необходимо написать формулой, так как это будет одна из переменных объемного текста (через СЦЕПИТЬ).
Спасибо всем откликнувшимся!
Пример обработки чисел:
Есть такая проблема.
Необходимо посчитать количество значащих цифр после точки у числа и убрать лишние нули. Если окажется что число - целое, необходимо убрать и разделительный знак.
Пример во вложении. Я сделал формулу, но мне она кажется слишком громоздкой и нерациональной.
Абсолютно точно это можно сделать за один шаг.
=ЕСЛИ(ПОИСК(".";A2)+1=ПОИСК("0";A2;ПОИСК(".";A2;1));ЛЕВСИМВ(A2;ДЛСТР(A2)-(ДЛСТР(A2)-ПОИСК("0";A2;ПОИСК(".";A2;1))+2));ЛЕВСИМВ(A2;ДЛСТР(A2)-(ДЛСТР(A2)-ПОИСК("0";A2;ПОИСК(".";A2;1))+1)))
На ошибку при выдаче числа 1.123 не обращайте внимание, это легко исправить.
Все это необходимо написать формулой, так как это будет одна из переменных объемного текста (через СЦЕПИТЬ).
Спасибо всем откликнувшимся!
Пример обработки чисел:
Число до обработки | Число после обработки |
1.123 | 1.123 |
1.120 | 1.12 |
1.100 | 1.1 |
1.000 | 1 |
12.123 | 12.123 |
12.120 | 12.12 |
12.100 | 12.1 |
12.000 | 12 |
123.123 | 123.123 |
123.120 | 123.12 |
123.100 | 123.1 |
123.000 | 123 |
1234.123 | 1234.123 |
1234.120 | 1234.12 |
1234.100 | 1234.1 |
1234.000 | 1234 |
12345.123 | 12345.123 |
12345.120 | 12345.12 |
12345.100 | 12345.1 |
12345.000 | 12345 |