Страницы: 1
RSS
Отображение нулей в конце числа при формате ячейки "Общий"
 
Всем доброго времени суток!  
При формате ячеек "Общий" необходимо чтобы вводимое значение оставалось в исходном виде (т.е. чтобы оставались нули и в начале и в конце числа).  
Апострофы перед значением, заключение в кавычки, или текстовый формат отменяются поскольку на эти ячейки идет ссылка формул. Ставить фиксированное количество знаков после запятой также нет возможности поскольку данные могут быть различными...  
Подскажите как отключить эту автозамену?
 
Может попробовать написать макрос который будет отслеживать ввод данных в ячейки листа и автоматом менять число десятичных знаков? Только придется различать числа и текст.
 
Можно макрос написать, выложите файл с примером как есть сейчас и как хотите, чтобы было
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Может и попробовать. Но достаточно установить текстовый формат. Тогда и нули будут отображаться и  формулы считать будут.
 
В примере форматы поменял.
 
Ответ на первый пост: при всех ваших условиях - никак.  
На второй: Вы спрашиваете разрешения? Да пишите макрос, кто Вам может запретить?:-)  
PS зачем вам ноли в начале и конце числа? Если с числами предполагается производить какие-то вычисления.  
И что Вы предполагаете делать макросом? Каждому числу присваивать свой, уникальный формат? Тогда Ваш файл очень быстро загнется с ошибкой "Слишком много форматов".  
 
56656
Я сам - дурнее всякого примера! ...
 
В случае с текстовым форматом формулы не всегда работают( (См. пример)  
Если поменять формат и заново ввести значения ошибка исчезнет!
 
Число должно отображаться так как оно было введено, без исправлений со стороны Excel поскольку форма уходит на печать.  
Причем значения каждый раз разные - заранее неизвестно какое будет в определенной ячейке при вводе.
 
post_346360.xls не открывается.
 
Евген_1,  
заархивируйте свой пример, а потом уже выкладывайте.  
Это глюк форума. У меня вчера то же самое было - терялся ВБА-проект из-за повреждения залитого мною файла.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Заархивировал
 
Ну нули в начале совершенно не нужны.  
А нули в конце можно выставить форматом.  
Или кодом, например:  
Selection.NumberFormat = "0.000000"  
Но думаю что нефиг лениться - завёл число, нащёлкал кнопкой сколько нужно нулей.  
И никакой код тут не нужен.
 
Относительно кода: Selection.NumberFormat = "0.000000" - число знаков везде разное! И говорят что при большом кол-ве форматов ошибка выскочит.  
По поводу выставлять руками - значений много!  
Придется создавать параллельную форму и переводить значения из текстового формата в число формулой ЗНАЧЕН() :-(  
 
Всем спасибо!!!  
Считаю тему закрытой...
 
А если с двойным бинарным отрицанием:  
=ЕСЛИ(AL10="";"";ОКРУГЛ((3-2*AL10)*ОКРУГЛ(СРЗНАЧ(--(D7:J9))/4;2)/6;2))  
ФОРМУЛА МАССИВА!
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Я кстати так попробовал - но:  
1-разделители нужно отслеживать/менять (у меня точки)  
2-результат почему-то другой...
 
Проверил: считает не правильно...  
Но я формулы вообще недолюбливаю, а формулы массива вообще не понимаю. Вот макросы-другое дело.  
Скорее всего написАл что-то не правильно.  
Но с двойным отрицанием - вариант точно правильный.  
Могу предложить сделать скрытый столбец (с нулевой шириной), в нём двойным отрицанием получить из текста цифры, а во всех формулах уже использовать ссылки на ячейки этого скрытого столбца.  
А можно даже не добавлять столбец, а разгруппировать ячейки столбца R, в них записать формулы преобразования текста в число (с тем же двойным отрицанием, например), а потом содержимое этих служебных ячеек спрятать, дав им формат ;;;
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
забыл файлик приложить
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Да, склероз …  
Ведь сам же посоветовал архивировать и сам же забыл, что глючит  
Вот в архиве:
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Вот так правильно считает (см. диапазон срзнач())  
=ЕСЛИ(AL10="";"";ОКРУГЛ((3-2*AL10)*ОКРУГЛ(СРЗНАЧ((D7:D9)*1)/4;2)/6;2))
 
Точно :)  
Или можно  
--(D7:D9)  
Формула массива!
 
Так формулу массива с двойным отрицанием я давно уже предлагал:  
=ЕСЛИ(AL10="";"";ОКРУГЛ((3-2*AL10)*ОКРУГЛ(СРЗНАЧ(--(D7:J9))/4;2)/6;2))  
но она у меня почему-то тогда дала результат 0,17...  
А сейчас ещё раз проверил - даёт как и нужно: 1,2
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
D7:J9<>D7:D9
 
{quote}{login=Alex_ST}{date=11.07.2012 10:56}{thema=}{post}А если с двойным бинарным отрицанием:  
=ЕСЛИ(AL10="";"";ОКРУГЛ((3-2*AL10)*ОКРУГЛ(СРЗНАЧ(--(D7:J9))/4;2)/6;2))  
ФОРМУЛА МАССИВА!{/post}{/quote}В данном дурацком (извините за грубость) варианте оформлкния СРЗНАЗ() считает все объединенные ячейке нулями.    
ТС (Евген_1) - вот зачем Вам объединенные ячейки? Показать, что Вы умеете объединять?  
 
Зы И еще - формат числа для нагрузки "20,000000" - технически безграмотен. Для всех технических величин точность три знака (для промежуточных расчетов - четыре), на большее измерительные приборы не способны.  
 
 
66676
 
"Любой каприз за ваши деньги" (С)  
Если уж хотите такое отображение чисел и такое оформление (объединенные ячейки), то В формула в AM10 примера post_346366.rar  
=ЕСЛИ(AL10="";"";ОКРУГЛ((3-2*AL10)*ОКРУГЛ(СУММПРОИЗВ(D7:J9*1)/СЧЁТЗ(D7:J9)/4;2)/6;2))  
массивного ввода не требует.
Страницы: 1
Читают тему
Наверх