Как MS Excel обманывает нас при расчетах
А вы знаете, что даже такая точная и надежная штука как MS Excel запросто может вас обмануть при расчетах, да притом так, что и не догадаешься об ошибке из-за того, что «сюрприз» этот работает только при работе с очень большими числами? А все потому, что существует такая особенность, как пределы точности расчетов в Microsoft Excel.
Правда «обманывает» нас Excel ну совсем не со зла. Просто у него есть определенные ограничения. И об этих ограничениях лучше знать заранее, чтобы избежать ошибок, там где они не ожидаются и совсем неоднозначны.
Ограничения связанные с пределами точности расчетов, о которых я хочу рассказать — это, конечно же не ошибка, а скорее допущение разработчиков. Своего рода архитектурное ограничение, с которым пользователям хочешь — не хочешь придется мириться, но о котором просто необходимо знать любому пользователю Excel.
Длинные числа MS Excel записывает весьма затейливо, однако в строке формул четко видно — это все тоже число, которое я ввел: 1234567890123
Как MS Excel хранит данные, зачем ему предел точности расчетов и почему он обрезает длинные числа
Microsoft Excel делает расчеты не абы как, складывая числа «в лоб», а на основе переменной с плавающей запятой. Это значит, что данные хранятся у него в ячейках не в виде простого числа, а в особом виде, а именно в виде дроби, где одна цифра стоит как целая часть, а остальные составляют дробную часть. Эта дробь умножается на 10 в n-ной степени.
Например, число 12345 будет храниться и обрабатываться (участвовать в расчетах) в Excel’е как 1.2345E4 или точнее как 1.2345*10^4. Правда с маленькими числами это незаметно, а вот если написать что-то типа: 1234567890123, то «Эксель» сразу же визуально «сократит» эту запись до 1,23457E+12. Выглядит это немного странно для неискушенных пользователей, но исправлено работает для экономии памяти и вычислительных мощностей вашего компьютера.
И все бы хорошо, но в этом методе есть одна особенность… Дело в том, что в общей сложности в этой дроби система проигнорирует все цифры, после пятнадцатого разряда. Позвольте объяснить на примере.
Опа… а если взять ещё более длинное число, MS Excel его обрежет «из экономии». Последние числа программа заменила нулями
Если ввести в ячейку Excel число 123456789012345678, то после нажатия Enter система автоматически преобразует его у себя в 1.23456789012345E17. И все вроде бы правильно, но на самом деле при обратном преобразовании это число превратится уже в 123456789012345000. То есть будет на 678 отличается от оригинала!
То же самое касается точных дробей. Они тоже будут обрезаться таким образом, чтобы общее число разрядов в числе было меньше 15. Это ограничение введено как необходимость, для того чтобы ограничить ненужную точность при огромных вычислениях с делением или дробными степенями (корнями), например модели дисконтированных денежных потоков при приведении точно будут вызывать огромное количество чисел с большим количеством дробных знаков (особенно, если модель приводится не по годам, а по полугодиям, кварталам или месяцам).
Как избежать обрезки длинных чисел в MS Excel
Уверен, что читатель на этом месте просто пожмет плечами и задумается — «хм, а когда я в последний раз умножал на 2 двадцатизначное число?». Но, конечно я с ним не соглашусь.
- Во-первых, есть же не только бухгалтеры и офисные работники, но и физики, и астрономы и прочие, которым приходится работать с БОЛЬШИМИ числами. И… видимо Excel им для тих целей не подойдет.
- Во-вторых, и этим самым бухгалтерам и офисным работникам тоже есть о чем волноваться. Ведь мы вводим в Excel не только числа для расчетов, но и различные идентификаторы, порою очень длинные.
Например, номер счета в банках России — двадцатизначный. Если попробовать ввести его в ячейку по умолчанию, то Excel незаметно сотрет из него последние 5 цифр (точнее заменит их нулями). Опочки! То же самое с кодом бюджетной классификации (КБК) или длинными номенклатурными номерами.
Меняем тип поля на «Текстовый» и вводим число любой длины. Победа? Ну….
К счастью, разобраться с этой проблемой не сложно (при условии, что вы о ней вообще знаете). Чтобы избежать ошибок связанных с обрезкой длинных чисел, достаточно изменить тип поля на текстовое (правда вы не сможете проделывать с ними математические операции, но вряд ли 99,9% пользователей табличного редактора действительно перемножают КБК…)
Такие дела. Кто предупрежден — тот вооружен, одним словом. Описанная здесь проблема с пределом точности MS Excel — хороший пример того, что решить проблему можно только в том случае, если о её существовании известно.
Первое, что нужно учитывать: формат значения и формат ячейки — не одно и то же.
То, что видим (2E+09) — экспоненциальная форма записи числа 2000000000 (не только этого, см. ниже). Это же число можно получить:
=2*10^9
=2*1e9
Число не обрезано, но отображается в другом виде. Значение в нормальном его виде можно посмотреть в строке формул.
Но вот незадача… 2100000000 в экспоненциальной форме будет иметь ту же запись — 2E+09. А все потому, что формат ячейки выставлен Экспоненциальный, да еще и с нулевым количеством знаков в дробной части. Ставим два знака после запятой — получаем 2,10E+09
Excel сравнивает значение с заданными форматами и сам определяет, как его отображать. Иногда «зло шутит». Например, запись 1.02 (не в текстовой ячейке) воспринимается как дата день.месяц.(текущий_год), 11.22 — как дата месяц.день.(текущий_год). При этом Excel меняет не только формат отображения — он еще и значение изменит! Вместо введенного 1.02 получим дату 01.02.2018. Или, если установим формат ячейки Общий, увидим 43132 (количество дней после 01.01.1900)
Формат ячейки мог автоматически измениться на экспоненциальный в случае, когда ширина ячейки была недостаточна для отображения полного числа. Мог подтянуться при копировании данных.
Исправить «обрезанное» просто: задать достаточную ширину ячейки, задать ей формат Общий или Числовой с необходимым количеством знаков после запятой.
Важное примечание. Большие числа все же обрезаются, но это не связано с экспоненциальной формой записи.
Excel имеет ограничение при работе с числовыми данными — не более 15 разрядов. Если в ячейку вписать число 12345678901234567890, получим значение с обнуленными младшими разрядами — 12345678901234500000, от 1,2345678901234567890 останется 1,23456789012345.
Избежать обрезания можно, если установить текстовый формат ячейки. Текстом может храниться и длинное число. Это тоже бывает нужно: банковские счета, инвентарные номера… Т.е. фатически не числа, а текст, состоящий из цифр. Но использовать такие значения в качестве чисел не получится — при первой же попытке младшие разряды обнулятся.
Ради справедливости нужно отметить, что работать можно и с очень большими числами, разрядность которых превышает 15: хранить значения как текст, при использовании делить на допустимые фрагменты… Но это непросто и выходит за рамки вопроса.
Содержание
- Длинные числа отображаются неправильно в Excel
- Симптомы
- Обходной путь
- Способ 1. Форматирование ячейки как текста
- Способ 2. Использование одинарной кавычки
- Связанные статьи
- Пределы точности расчетов в Excel и обрезка длинных чисел
- Как MS Excel обманывает нас при расчетах
- Как MS Excel хранит данные, зачем ему предел точности расчетов и почему он обрезает длинные числа
- Как избежать обрезки длинных чисел в MS Excel
- Excel works!
- Excel works!
- Почему Excel округляет большие числа?
- Экспоненциальное представление числа в Excel
- Импорт данных и автоматический перевод в число
- Excel округляет большие числа. Как исправить такую запись?
- Принудительное округление чисел
- Еще нюансы:
- Тема: Длинное число в Excel
- Длинное число в Excel
Длинные числа отображаются неправильно в Excel
Симптомы
После ввода длинного номера (например, номера кредитной карты) в ячейке Excel номер отображается неправильно в Excel. Например,
Числовой формат по умолчанию в Excel является общим, поэтому вы можете отображать до 11 цифр в ячейке.
Обходной путь
Для решения проблемы используйте один из указанных ниже способов.
Способ 1. Форматирование ячейки как текста
Для этого выполните следующие действия:
Щелкните правой кнопкой мыши поле со списком и выберите пункт Формат ячеек.
На вкладке Число выберите Текст, а затем нажмите ОК.
Затем введите длинное число. (Не забудьте установить формат ячейки, прежде чем ввести число)
Если вы не хотите видеть предупреждающие стрелки, нажмите на маленькую стрелку, а затем Пропустить ошибку.
Способ 2. Использование одинарной кавычки
При вводе длинного числа сначала введите одинарную кавычку (‘) в ячейке, а затем длинное число.
Например, введите ‘1234567890123456789, и одинарная кавычка не будет отображаться после нажатия ENTER.
Связанные статьи
Ваше мнение важно для нас! Не стесняйтесь сообщать, что вы думаете об этой статье, используя поле комментария, расположенное внизу документа. Это позволит нам улучшить содержимое. Заранее спасибо!
Источник
Пределы точности расчетов в Excel и обрезка длинных чисел
Как MS Excel обманывает нас при расчетах
А вы знаете, что даже такая точная и надежная штука как MS Excel запросто может вас обмануть при расчетах, да притом так, что и не догадаешься об ошибке из-за того, что «сюрприз» этот работает только при работе с очень большими числами? А все потому, что существует такая особенность, как пределы точности расчетов в Microsoft Excel.
Правда «обманывает» нас Excel ну совсем не со зла. Просто у него есть определенные ограничения. И об этих ограничениях лучше знать заранее, чтобы избежать ошибок, там где они не ожидаются и совсем неоднозначны.
Ограничения связанные с пределами точности расчетов, о которых я хочу рассказать — это, конечно же не ошибка, а скорее допущение разработчиков. Своего рода архитектурное ограничение, с которым пользователям хочешь — не хочешь придется мириться, но о котором просто необходимо знать любому пользователю Excel.
Длинные числа MS Excel записывает весьма затейливо, однако в строке формул четко видно — это все тоже число, которое я ввел: 1234567890123
Как MS Excel хранит данные, зачем ему предел точности расчетов и почему он обрезает длинные числа
Microsoft Excel делает расчеты не абы как, складывая числа «в лоб», а на основе переменной с плавающей запятой. Это значит, что данные хранятся у него в ячейках не в виде простого числа, а в особом виде, а именно в виде дроби, где одна цифра стоит как целая часть, а остальные составляют дробную часть. Эта дробь умножается на 10 в n-ной степени.
Например, число 12345 будет храниться и обрабатываться (участвовать в расчетах) в Excel’е как 1.2345E4 или точнее как 1.2345*10^4. Правда с маленькими числами это незаметно, а вот если написать что-то типа: 1234567890123, то «Эксель» сразу же визуально «сократит» эту запись до 1,23457E+12. Выглядит это немного странно для неискушенных пользователей, но исправлено работает для экономии памяти и вычислительных мощностей вашего компьютера.
И все бы хорошо, но в этом методе есть одна особенность… Дело в том, что в общей сложности в этой дроби система проигнорирует все цифры, после пятнадцатого разряда. Позвольте объяснить на примере.
Опа… а если взять ещё более длинное число, MS Excel его обрежет «из экономии». Последние числа программа заменила нулями
Если ввести в ячейку Excel число 123456789012345678, то после нажатия Enter система автоматически преобразует его у себя в 1.23456789012345E17. И все вроде бы правильно, но на самом деле при обратном преобразовании это число превратится уже в 123456789012345000. То есть будет на 678 отличается от оригинала!
То же самое касается точных дробей. Они тоже будут обрезаться таким образом, чтобы общее число разрядов в числе было меньше 15. Это ограничение введено как необходимость, для того чтобы ограничить ненужную точность при огромных вычислениях с делением или дробными степенями (корнями), например модели дисконтированных денежных потоков при приведении точно будут вызывать огромное количество чисел с большим количеством дробных знаков (особенно, если модель приводится не по годам, а по полугодиям, кварталам или месяцам).
Как избежать обрезки длинных чисел в MS Excel
Уверен, что читатель на этом месте просто пожмет плечами и задумается — «хм, а когда я в последний раз умножал на 2 двадцатизначное число?». Но, конечно я с ним не соглашусь.
- Во-первых, есть же не только бухгалтеры и офисные работники, но и физики, и астрономы и прочие, которым приходится работать с БОЛЬШИМИ числами. И… видимо Excel им для тих целей не подойдет.
- Во-вторых, и этим самым бухгалтерам и офисным работникам тоже есть о чем волноваться. Ведь мы вводим в Excel не только числа для расчетов, но и различные идентификаторы, порою очень длинные.
Например, номер счета в банках России — двадцатизначный. Если попробовать ввести его в ячейку по умолчанию, то Excel незаметно сотрет из него последние 5 цифр (точнее заменит их нулями). Опочки! То же самое с кодом бюджетной классификации (КБК) или длинными номенклатурными номерами.
Меняем тип поля на «Текстовый» и вводим число любой длины. Победа? Ну….
К счастью, разобраться с этой проблемой не сложно (при условии, что вы о ней вообще знаете). Чтобы избежать ошибок связанных с обрезкой длинных чисел, достаточно изменить тип поля на текстовое (правда вы не сможете проделывать с ними математические операции, но вряд ли 99,9% пользователей табличного редактора действительно перемножают КБК…)
Такие дела. Кто предупрежден — тот вооружен, одним словом. Описанная здесь проблема с пределом точности MS Excel — хороший пример того, что решить проблему можно только в том случае, если о её существовании известно.
Источник
Excel works!
Excel работает за вас
Excel works!
Thanks for Visiting
Почему Excel округляет большие числа?
Пробовали вводить в ячейку Excel большие числа? Например, серийный номер номер запчасти (2927930504052004) или номер пластиковой карты (0000111100002222) — получается некрасиво как на картинке Е+ и так далее. Почему Excel округляет большие числа? Как с этим бороться и пара других хитростей в статье.
Ячейка программы воспринимает и обрабатывает числа только с точностью до 15 знаков, а отображает для числового значения не более 11 цифр. Все, что больше, записывает в экспоненциальном (научном) виде т.е. 1,111E+11.
Экспоненциальное представление числа в Excel
Экспоненциальное — это представление действительных чисел в удобном виде отображения очень больших и очень малых чисел.
Для нашего примера 0000111100002222 превратилось в 111100002222 и отображается как 1,111E+11
1,111 — дробная часть логарифма числа, т.н. мантисса
E — буква, означающая «*10^» (умножение на десять в степени p)
p — степень числа 10, в примере 11
Такой формат можно выбрать и принудительно в Формате ячейки
Импорт данных и автоматический перевод в число
Самое неприятное, если у числа обрезаются нули. Довольно часто с такой проблемой сталкиваешься при выгрузке из учетной системы или текстового файла, файла CSV. В таком случае Excel автоматически распознает эти данные как число и 0000111100002222 и превращает его в 111 100 002 222,00. Если не знаешь такой хитрости, то можно и не заметить, а это может испортить дальнейшую привязку к данным, да и просто ввести в заблуждение.
Правильно выгрузить будет через инструмент Данные — Получить внешние данные — Из текста
Excel округляет большие числа. Как исправить такую запись?
- Поставьте перед числом апостроф — верхнюю запятую — символ ‘
2. Предварительно сделайте формат ячейки текстовым, если число уже обрезалось по нулям, то это к сожалению не поможет.
3. Если вводить такое число с пробелом, то Excel воспримет его как текст сразу
Принудительное округление чисел
Как округлить число формулой принудительно можно прочитать в статье.
Еще нюансы:
Такой формат числа часто используется в графиках и диаграммах при установлении цены деления шкалы (если конечно используются большие числа). Теперь вы знаете что это такое 🙂
Часто спрашивают: «Можно ли «убить» такое обрезание чисел?» К сожалению нет, это одна из основ MS Excel, даже макросом не получится. Приходится принимать правила игры. Но зато можно макросом проставить апостроф в начало числа.
Добавляет апостроф при выполнение макроса во все выделенные ячейки.
Источник
Тема: Длинное число в Excel
Опции темы
Поиск по теме
Длинное число в Excel
Помогите разобраться.
Я в документе Excel в одной из ячеек пишу очень длинное число- расчетный счет. И вместо нужных мне последних трех цифр получаются нули. Формат и общий делаю, и числовой. Не получается. Что нужно сделать?
нужно установить текстовый формат (или набрать перед номером счета апостроф).
текстовый формат дает вообще бред- набор цифр и букв (!)
А что такое «апострф» (извините, я чайник)
Это как? Вводите цифры. а они превращаются в буквы? Вы сначала набираете число, а потом применяете формат, или наоборот?
сначала- набрала число. Получила нули. Потом стала менять форматы.
Текстовый дал, например: 4,07028Е+19
Сделала наоборот- и все получилось
длинное число в Экселе вводится нормально, для ячейки формата — число ( я вводил и 20 и 25 знаков. ).
номер расчетного счета числом не является, т.к. по определению, делится не на единицы, десятки, сотни и т.д. а на фасеты т.е. группы цифр длина которых устанавливается произвольно.
Поэтому, логичнее использовать здесь текстовый, а не числовой формат ячейки.
Если формат ячейки установить самому, а не довериться Экселю, все будет отражено правильно.
ИМХО
Ошибочка
Вы нам показали экспоненциальную запись числа. Excel так «нещадно» поступает, если для отображения числа недостаточно ширины столбца. Он (Excel) по доброте своей неодушевленной пытается нам помочь.
Наибольшее возможное число в Excel — 9E+307.
Не Станиславский, но не верю
Очень хочется увидеть в Excel ЧИСЛОВУЮ запись ЧИСЛА длиной более 15 знаков с младшими разрядами, отличными от нуля.
Утверждение правильно в части «числом не является».
Но ведь р/счет может быть записан и без пробелов (без деления на «фасеты») и это не является нарушением. В такой записи набор цифр образует число, которое может участвовать в математических операциях.
Любая конечная последовательность символов, записанная в виде последовательности (например) восьмеричных чисел без пробелов, образует число, которое может участвовать математических операциях. Вопрос только в осмысленности такой записи и таких операций.
Ворчун (может, и не совсем старый? ), мой текст относился к сообщению YUM о возможности ввода такого длинного числа. Потому-то и «Очень хочется увидеть. «.
Речь не об осмысленности математических операций, а о том, что ЕВС при вводе р/счета получает не совсем то, что нужно. Т.е. автор вводит не набор «фасеток», а последовательность символов, которая является-таки числом.
И вопрос не в том, что эту последовательность можно разделить на СтоМиллионовТысяч. Эта последовательность — ЧИСЛО и воспринимается программой как число.
Поэтому данные такого вида должны вводиться как текст: предварительно выставив текстовый формат ячейки; добавив где-либо пробелы; поставив апостроф перед данными.
Последовательность символов является последователеностью символов, просто разные приложения «по умолчанию» интерпретируют эту последовательность по-разному. Ексель любую последовательность сначала пытается интерпретировать как число в том или ином формате. Если ему это удается, то результат интерпретации заносится в ячейку. Если как число последовательность не интерпретируется, то Ексель пытается интерпретировать ее как текст или формулу. Если та же последовательность вводится в Вроде, то она интерпретируется как текст. А спор о том, чем является номер расчетного счета, числом или текстом, смысла не имеет. Номер счета в зависимости от решениях задач можно расматривать и как число, и как текст.
Я не пытаюсь доказать, что р/счет — число или не число.
Разговор о конкретной ситуации: при заполнении листа данными введенная в ячейку информация была воспринята Excel’ем как число.
Почему? Потому что для него это число.
Как обойти? Показать табличному монстру, что это текст.
Доброго времени суток, уважаемые)
При составление различных расчетных таблиц в EXSEL получается вот какая ситуация: при расчете 10839,60 * 2,6% = 281,8296. По-моему мнению, это 281,83, а по EXSEL так и есть 281,8296. Даже если выставить формат ячейки «числовой»- «2 знака после запятой», EXSEL все равно держит «в уме» остальные цифры и при суммировании их учитывает.
Когда в таблице 20 строк (например, по количеству человек) итоговая сумма, чаще всего, получается на 1 или 2 копейки больше. Приходится каждый раз копировать полученные значения, вставлять через «Специальная вставка» — «значение» в эту же колонку, и в ручную убирать лишнее знаки после запятой.
Может быть есть какие-то настройки.
Доброго времени суток, уважаемые)
При составление различных расчетных таблиц в EXSEL получается вот какая ситуация: при расчете 10839,60 * 2,6% = 281,8296. По-моему мнению, это 281,83, а по EXSEL так и есть 281,8296. Даже если выставить формат ячейки «числовой»- «2 знака после запятой», EXSEL все равно держит «в уме» остальные цифры и при суммировании их учитывает.
Когда в таблице 20 строк (например, по количеству человек) итоговая сумма, чаще всего, получается на 1 или 2 копейки больше. Приходится каждый раз копировать полученные значения, вставлять через «Специальная вставка» — «значение» в эту же колонку, и в ручную убирать лишнее знаки после запятой.
Может быть есть какие-то настройки.
Когда в таблице 20 строк (например, по количеству человек) итоговая сумма, чаще всего, получается на 1 или 2 копейки больше.
Может быть есть какие-то настройки.
есть: параметры — вычисления — точность как на экране. позволяет избавиться от многочисленных «ОКРУГЛ()» в ячейках.
Но копейка всё равно может вылезти.
Ибо:
1,00/3,00=0,33
0,33*3,00=0,99
Доброго времени суток, уважаемые)
При составление различных расчетных таблиц в EXSEL получается вот какая ситуация: при расчете 10839,60 * 2,6% = 281,8296. По-моему мнению, это 281,83, а по EXSEL так и есть 281,8296. Даже если выставить формат ячейки «числовой»- «2 знака после запятой», EXSEL все равно держит «в уме» остальные цифры и при суммировании их учитывает.
Когда в таблице 20 строк (например, по количеству человек) итоговая сумма, чаще всего, получается на 1 или 2 копейки больше. Приходится каждый раз копировать полученные значения, вставлять через «Специальная вставка» — «значение» в эту же колонку, и в ручную убирать лишнее знаки после запятой.
Может быть есть какие-то настройки.
Дело в том, что формат хранения чисел актуален не только для Экселя.
Проблема «лишней копейки» описана на форуме не один десяток раз. В результате, удалось-таки убедить составителей отчетности в ПФР в том, что нельзя два, взаимоконтролируемых отчета, составлять с копейками и без. (Не знаю, надолго ли).
На одном из форумов программистов проблему вменяемого округления предлагалось решать так : умножаем оба числа на миллион. Делим, множим, вычитаем, а уже полученный итог делим обратно на миллион.
Говорят, что при работе с целыми числами компьютеры сильно умнеют
Может быть это вариант Вам поможет?
Источник
bystander Пользователь Сообщений: 2 |
Копирую в эксель из аутлука число 1003763821122276753 Вопрос — как сделать так, чтобы последние цифры отображались корректно? Спасибо! |
формат ячеек текстовый специальная вставка-значения |
|
bystander Пользователь Сообщений: 2 |
там нет опции «значения», а есть — «объект Документ Microsoft Office Word, Метафайл Windows, HTML, Текст в кодировке Unicode, Текст. Пробовал все форматы, не помогло |
Serge Пользователь Сообщений: 11308 |
{quote}{login=bystander}{date=24.02.2010 07:31}{thema=Копирование длинных чисел в эксель — как избежать замены цифр на 0}{post}Вопрос — как сделать так, чтобы последние цифры отображались корректно?{/post}{/quote}Поставить перед числом знак ` |
dude Пользователь Сообщений: 1066 |
{quote}{login=bystander}{date=24.02.2010 07:47}{thema=}{post}там нет опции «значения», а есть — «объект Документ Microsoft Office Word, Метафайл Windows, HTML, Текст в кодировке Unicode, Текст. Пробовал все форматы, не помогло{/post}{/quote} |
Serge Пользователь Сообщений: 11308 |
2 тухачевский Андрей, ` лучше _ потому что ` не отображается в ячейке и не выводится на печать. 2 bystander С такими «числами» Вы сможете работать только как с текстом. |
dude Пользователь Сообщений: 1066 |
|
Сорри, а если надо скопировать и вставить столбцы, в одном из которых такие цифры?? как быть?? |
|
Serge Пользователь Сообщений: 11308 |
Предварительно установить столбцу формат «текстовый». |
А на вопрос так никто и не смог ответить!!!!!! |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
|
{quote}{login=Сергей}{date=08.07.2011 04:26}{thema=}{post}А на вопрос так никто и не смог ответить!!!!!!{/post}{/quote}Да постом выше ответ дан. |
|
Вот нашел решение (exel 2007): |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Ага, а как потом с тестом сложение/деление будете делать? Если нужны числа — см. ссылку, которую я приводил выше. А про текст в самом начале есть варианты. Перечитайте тему. |
Прочитайте вопрос 2010 года! |
|
{quote}{login=Сергей}{date=08.07.2011 06:11}{thema=}{post}Вот нашел решение (exel 2007): |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
{quote}{login=Сергей}{date=08.07.2011 06:24}{thema=}{post}Прочитайте вопрос 2010 года!{/post}{/quote}А Вы прочитайте ответ от 24.02.2010, 19:51 |
{quote}{login=Юрий М}{date=08.07.2011 06:52}{thema=Re: }{post}{quote}{login=Сергей}{date=08.07.2011 06:24}{thema=}{post}Прочитайте вопрос 2010 года!{/post}{/quote}А Вы прочитайте ответ от 24.02.2010, 19:51{/post}{/quote} Как Вы себе представляете 15000 счетов содержащихся в файле word исправлять и ставить апостроф? |
|
{quote}{login=Михаил С.}{date=08.07.2011 06:42}{thema=Re: }{post}{quote}{login=Сергей}{date=08.07.2011 06:11}{thema=}{post}Вот нашел решение (exel 2007): Напишите в WORD-е 11111111111111111111111111111111111111111111111111113. |
|
Да, постом раньше я погорячился — конкретно из ворда не работает. Работает из блокнота и других различных мест, напимер с этой страницы. Из ворда — Ваш способ. |
|
Я прекращаю этот бесполезный спор, его может разрешить только bystander, как задавший вопрос. |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
>> Как Вы себе представляете 15000 счетов содержащихся в файле word исправлять и ставить апостроф? |
ran Пользователь Сообщений: 7091 |
Обалденно интересно было почитать сегодняшнюю дискуссию. Юрий, Михаил, Сергей! О чем же вы спорили (обсуждали)?:-)))) |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#24 08.07.2011 21:43:49 Человек, судя по всему, спорил сам с собой. Сначала не мог найти решение для себя, здесь тоже не нашел ответа, а потом оно пришло опытным путем. А зачем читать то, что было написано выше? — ведь решение он сначала не нашёл Вот он и прекратил спорить сам с собой |
Пробовали вводить в ячейку Excel большие числа? Например, серийный номер номер запчасти (2927930504052004) или номер пластиковой карты (0000111100002222) — получается некрасиво как на картинке Е+ и так далее. Почему Excel округляет большие числа? Как с этим бороться и пара других хитростей в статье.
Ячейка программы воспринимает и обрабатывает числа только с точностью до 15 знаков, а отображает для числового значения не более 11 цифр. Все, что больше, записывает в экспоненциальном (научном) виде т.е. 1,111E+11.
Содержание
- Экспоненциальное представление числа в Excel
- Импорт данных и автоматический перевод в число
- Excel округляет большие числа. Как исправить такую запись?
- Принудительное округление чисел
- Еще нюансы:
- Похожие статьи
Экспоненциальное представление числа в Excel
Экспоненциальное — это представление действительных чисел в удобном виде отображения очень больших и очень малых чисел.
Для нашего примера 0000111100002222 превратилось в 111100002222 и отображается как 1,111E+11
1,111 — дробная часть логарифма числа, т.н. мантисса
E — буква, означающая «*10^» (умножение на десять в степени p)
p — степень числа 10, в примере 11
Такой формат можно выбрать и принудительно в Формате ячейки
Импорт данных и автоматический перевод в число
Самое неприятное, если у числа обрезаются нули. Довольно часто с такой проблемой сталкиваешься при выгрузке из учетной системы или текстового файла, файла CSV. В таком случае Excel автоматически распознает эти данные как число и 0000111100002222 и превращает его в 111 100 002 222,00. Если не знаешь такой хитрости, то можно и не заметить, а это может испортить дальнейшую привязку к данным, да и просто ввести в заблуждение.
Правильно выгрузить будет через инструмент Данные — Получить внешние данные — Из текста
Excel округляет большие числа. Как исправить такую запись?
- Поставьте перед числом апостроф — верхнюю запятую — символ ‘
2. Предварительно сделайте формат ячейки текстовым, если число уже обрезалось по нулям, то это к сожалению не поможет.
3. Если вводить такое число с пробелом, то Excel воспримет его как текст сразу
Принудительное округление чисел
Как округлить число формулой принудительно можно прочитать в статье.
Еще нюансы:
Такой формат числа часто используется в графиках и диаграммах при установлении цены деления шкалы (если конечно используются большие числа). Теперь вы знаете что это такое
Часто спрашивают: «Можно ли «убить» такое обрезание чисел?» К сожалению нет, это одна из основ MS Excel, даже макросом не получится. Приходится принимать правила игры. Но зато можно макросом проставить апостроф в начало числа.
Sub Dobavit_Apostrof() Dim c As Range For Each c In Selection If (Not IsEmpty(c)) And Not (Left(c, 1) = "'") Then c = "'" & c End If Next End Sub
Добавляет апостроф при выполнение макроса во все выделенные ячейки.