Страницы: 1
RSS
Как выставить точность на 20 знаков?
 
Есть проблема: из БД в EXCEL перекидываю 20-ти значное число. Эта екселька переводит его в экспоненту, попутно обнуляя последние 5 цифр, что абсолютно неприемлемо. Вывод мимо екселя не предусмотрен. Может,где в настройках EXCEL можно заранее выставить точность на 20 знаков?
 
Мне кажется, что Excel будет в любом случае пытаться преобразовывать число именно так, как это происходит... (хотя я могу и ошибаться)... Но этого можно избежать, если выставить формат импортируемого поля, как Текстовый формат. Тогда Excel не будет делать преобразование. Просто в последующем нужно будет учесть, что это текстовое поле.
 
{quote}{login=Alex}{date=19.09.2007 06:56}{thema=Как выставить точность на 20 знаков?}{post}Может,где в настройках EXCEL можно заранее выставить точность на 20 знаков?{/post}{/quote}  
нет. Это ограничение Excel - там не более 15 значащих цифр в числе!!!    
 
цитирую:  
При записи в ячейку документа Excel числа, содержащего более 15 знаков, последние цифры заменяются нулями. Данная проблема возникает из-за того, что в Excel максимальная точность представления числа 15 знаков. При записи в ячейку двадцатизначного числа происходит округление до 15 знаков и представление числа в экспоненциальной форме. Увеличить точность представления чисел в Excel нельзя. Однако если не предполагается участие этих чисел в математических операциях, то возможно использование текстового формата, для их хранения. Такое решение подходит, например, для хранения номеров банковских счетов.    
 
а вот здесь http://office.microsoft.com/ru-ru/excel/HP100738491049.aspx  
- от производителя (то бишь от микрософт) сказано:  
(в т.ч. для Office 2007)  
Точность представления чисел, разрядов, не более 15
 
{quote}{login=Serge Bliznykov}{thema=Как выставить точность на 20 знаков?}{post}нет. Это ограничение Excel - там не более 15 значащих цифр в числе!!! {/post}{/quote}  
 
Лучше бы вместо того чтобы рисовать много восклицательных знаков лучше бы помогли разобраться в проблеме.  
Нам нахрен не надо "15 значащих цифр в числе", нам надо чтобы эта сволочь не загоняла автоматом номера счетов в экспоненту. Если уж она не умеет работать с длинными числами пусть помнит его как текст, а не преобразовывает непонятно во что.
 
{quote}{login=The_Prist}{date=27.02.2010 11:31}{thema=Re: Re: Как выставить точность на 20 знаков?}{post}{quote}{login=Angry}{date=27.02.2010 11:21}{thema=Re: Как выставить точность на 20 знаков?}{post}  
Лучше бы вместо того чтобы рисовать много восклицательных знаков лучше бы помогли разобраться в проблеме.  
Нам нахрен не надо "15 значащих цифр в числе", нам надо чтобы эта сволочь не загоняла автоматом номера счетов в экспоненту. Если уж она не умеет работать с длинными числами пусть помнит его как текст, а не преобразовывает непонятно во что.{/post}{/quote}А Вы дату темы смотрели? Она от 2007 года. И не надо "хреноками" кидаться, Вам кажется еще никто не хамил, чтоб выражаться.  
По существу: перед занесением данных устанавливайте формат ячеек "Текстовый". Но неполохо бы знать, как у Вас данные в ячейки попадают: вручную, экспортом из .txt или экспорт из стороннего приложения.{/post}{/quote}  
у меня по сути таже проблема:  
в эксель уже забиты номера типа 32154-3Е123 или 32145-2Е321, но из них нужно убрать"-" форматирую как текст, жму "найти", "заменить на" и после замены выводится экспоненциальный формат. в автозамене ничего подобного не нашел. что сделать чтобы ексель не переформатировал номер в экспоненциальный формат?
 
{quote}{login=The_Prist}{date=03.03.2010 03:01}{thema=}{post}Используйте формулу ПОДСТАВИТЬ.{/post}{/quote}  
спасибо! получилось.  
а отключить это какнибудь нельзя???  
когда потом копирую с листа на лист, номера в которых содержится Е тоже переводит в экспоненциальный формат
 
{quote}когда потом копирую с листа на лист, номера в которых содержится Е тоже переводит в экспоненциальный формат{/quote}  
никто не знает?
 
{quote}{login=The_Prist}{date=03.03.2010 03:01}{thema=}{post}Используйте формулу ПОДСТАВИТЬ.{/post}{/quote}  
Как использовать формулу подставить. Кстати когда я формат ячейки ставлю текстовым мои числа становятся решетками. У меня более 88 символов в ячейки, так сказать массив чисел и он отображается решеткой, если ставлю формат числовой он превращается в експоненту. P.S. менее 88 символов отображается все нормально, числа у меня через пробел
 
{quote}{login=Евгений}{date=11.11.2011 02:54}{thema=Как подставить}{post}У меня более 88 символов в ячейки, так сказать массив чисел и он отображается решеткой, если ставлю формат числовой он превращается в експоненту. P.S. менее 88 символов отображается все нормально, числа у меня через пробел{/post}{/quote} Поскольку excel не обрабатывает ячеки с более,чем 256 символов (включая пробелы), может Вам лучше Word использовать? Там ни чего не преобразуется... А расчеты все равно не получится делать с такими данными....
 
Здравствуйте соискатели решения вопроса подстановки 20-ти значных чисел и EXCEL!  
Возможно кому то поможет такой способ:  
вставляесм формулу -    
="ваш номер скорее всего счет в банке обычно он вызывает данный вопрос"  
т.е в ячейке ставим:  ="12345678901234567890"ENTER ваш номер счета будет отображаться как есть без сокращений.  
 
Подставляется нормально!  
Второй вариант  -  воспользуйтесь прикрепленным шаблоном.  
Если кто то сможет объяснить почему в этом шаблоне в ячейке со счетом нет никаких формул, но при этом номер счета отображается нормально без преобразований - этому человеку явно многие будут благодарны... Нашел этот шаблон уже давно, иногда приходится им пользоваться. Копирую ячейку с номером счета из шаблона в нужный мне док - и все хорошо.  
Пользуйтесь...
 
{quote}{login=borhes}{date=21.11.2011 09:38}{thema=Re: Как подставить}{post}  
Возможно кому то поможет такой способ:  
вставляесм формулу -    
="ваш номер скорее всего счет в банке обычно он вызывает данный вопрос"  
т.е в ячейке ставим:  ="12345678901234567890"ENTER ваш номер счета будет отображаться как есть без сокращений.{/post}{/quote}Это же но короче:  
'12345678901234567890 (перед "числом" апостроф).  
 
<<Если кто то сможет объяснить почему в этом шаблоне в ячейке со счетом нет никаких формул, но при этом номер счета отображается нормально без преобразований>>  
А чего тут объяснять? Других решений, кроме как представить число текстом нет.  
Вот и в файле тоже, после числа стоит пробел, который превращает его в текст.  
Это в любом файле можно сделать.
 
Serge 007, а можно сначала установить в ячейке формат ТЕКСТОВЫЙ, а потом вводить данные. Но телодвижений больше:)  
Игорь67
 
{quote}{login=}{date=21.11.2011 10:17}{thema=}{post}Serge 007, а можно сначала установить в ячейке формат ТЕКСТОВЫЙ, а потом вводить данные. Но телодвижений больше:)  
Игорь67{/post}{/quote}Ну да.  
Короче "Текст любой ценой" :-)))
 
Сергей, не так - там как-то html используется - вот я скопировал ячейку в новую книгу и получил такое в скриптэдиторе:  
 
[tr]
 [td]12345678901234567890 [/td]
[/tr]
 
И формат ячейки там не текстовый, и в ячейке не число текстом - по крайней мере зелёных чело... треугольников нет.
 
Игорь, проверял по ЕТЕКСТ() = Истина, ЕЧИСЛО() дает ЛОЖЬ  
Игорь67
 
Замечательная аномалия :-)  
В ячейке в качестве PrefixCharacter используется не одиночный апостроф, а vbNullString:  
MsgBox Range("g10").PrefixCharacter = vbNullString  
 
Занесли его туда либо неприродным способом, либо внешним приложением (не Excel), потому как свойство .PrefixCharacter - только для чтения
 
{quote}{login=Hugo}{date=21.11.2011 10:29}{thema=}{post}И формат ячейки там не текстовый, и в ячейке не число текстом - по крайней мере зелёных чело... треугольников нет.{/post}{/quote}  
В ячейке именно текст, т.к. после числа идет неразрывный пробел, символ(160) -  
 
{quote}{login=MCH}{date=21.11.2011 10:54}{thema=Re: }{post}В ячейке именно текст, т.к. после числа идет неразрывный пробел, символ(160) -  {/post}{/quote}Действительно, все - природным программным способом :-)  
Михаил (MCH) прав, там всего лишь в конце добавлен символ 160.
 
Ну я и не отрицал, что это в общем текст - но обычно число как текст распознаётся иначе, и в начале имеет треугольник (в 2003 и выше).  
Поставить в конце пробел, оставив общий формат - это результата не даст.  
Даже в этой ячейке - если убрать пробел, а потом добавить - всё рушится (если не менять формат ячейки на текстовый).  
У меня исправить получилость только в Scripteditor'е, скопировав эти строки вместо получившихся:    
 [td]123456789123456789 [/td]
Число можно конечно поставить другое.  
Кстати, где этот Scripteditor в 2007/10?  
И второй вопрос - как это можно достичь программным способом?
 
Выравнивание по левому краю и будет вам щастье :)
Страницы: 1
Читают тему
Наверх