|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.12.2015, 13:10 | #1 |
Новичок
Джуниор
Регистрация: 27.12.2015
Сообщений: 2
|
Разность одинаковых чисел
Почему разность двух одинаковых чисел в ексель дает у меня иногда бесконечно малое, но все же отрицательное число. Заметил что это случается если в формуле разность этих чисел стоят в скобках, и сами эти числа подставляются по ссылке из других ячеек.
|
27.12.2015, 13:44 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
может они на самом деле разные, а одинаковыми просто выводятся форматом ячейки
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
27.12.2015, 14:21 | #3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Вы готовы к смелым экспериментам?
тогда: в А1 пишите =1e+9 в B1 пишите =1e-9 в C1 пишите =A1-B1 в С2 пишите =A1=C1 в С2 Вы видите результат сравнения значений из ячеек А1 и С1 и, о чудо!!! в С2 написано ИСТИНА, так? забудем на минуту о ячейках, допустим у нас переменные А, В, С причем 1. С = А-В 2. В <> 0 с точки зрения математики очевидно, что С <> А (см.пп.1 и 2), а с точки зрения Ексель оказались равны!!! Ексель не знает математики??? - неправильный вывод это связано с точностью хранения значений, об этом много написано, это особенность не Ексель, а особенность хранения значения компьютером. если интересно поищите в инете "точность хранения значений" а практический совет - округляйте до нужной точности и сравнивайте- все будет хорошо.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
27.12.2015, 18:56 | #4 |
Новичок
Джуниор
Регистрация: 27.12.2015
Сообщений: 2
|
Большое спасибо.
|
27.12.2015, 20:34 | #5 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Да, хотя в Excel можно работать с числами до 10^307, мантисса имеет всего примерно 15..16 десятичных разрядов.
|
28.12.2015, 11:59 | #6 | |
Пользователь
Регистрация: 03.08.2012
Сообщений: 38
|
Цитата:
1. В ячейку A1 заносим число 2. 2. В ячейку A2 пишем формулу: =A1+0.01 и копируем (протягиванием) её строк на 30 хотя бы. 3. В ячейку B1 пишем формулу: =A1*100, а в ячейку C1: =(B1=B2-1) Содержимое ячеек B1 и C1 копируем, аналогично п.2. В итоге в 24-й строке будет: 2.23; 223; ЛОЖЬ, где ЛОЖЬ говорит о том, что 223 не равно разности 224-1 24-я строка не единственная, если формулы тянуть дальше. И в случае замены 2 в ячейке A1 на другое число изменятся номера строк с "ошибочным" результатом. Где-то так. С наступающим Новым Годом, товарищи! |
|
28.12.2015, 13:57 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
А если сравниваете макросом, но не хотите округлять - приводите всё перед сравнением в текстовый формат. Был случай когда совершенно всюду одинаковые даже кажется целые числа (тип, значения) были неравны, т.к. одно из них было импортировано откуда-то извне.
С наступающим!
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разность чисел из двух файлов | MangoDGJ | Общие вопросы Delphi | 1 | 30.05.2013 19:10 |
Разность чисел из двух файлов | MangoDGJ | Общие вопросы Delphi | 1 | 30.05.2013 14:42 |
Подсчитать разность положительных чисел (Delphi) | De_Kurlzz | Помощь студентам | 2 | 20.06.2010 11:49 |
Разность чисел | MadMike_TSPU | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 29.05.2010 10:55 |
разность чисел | Михаил2261 | Microsoft Office Excel | 0 | 06.05.2010 18:35 |