Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ

Автор: Tropin
Дата сообщения: 15.01.2004 14:41
mp3exchanger
Я не спорю, что эксель по определению кривой:
Проведем эксперимент. Уменьшим значение B1 на 2 (получим 3,521), то же делаем с C1 (там 3,285). Смотрим... работает??? Значит косяк где-то в его расчетах суммы и разности. Эту теорию подтверждает то, что при добавлении правил типа БОЛЬШЕ или МЕНЬШЕ получаем похожие результаты.

Цитата:
Взаимоисключающие вещи пишешь...

я и говорю, эксель должен глючить по определению... подобные вещи есть нормальное поведение этой проги...
Автор: leia
Дата сообщения: 15.01.2004 15:14
Это не глюк, это фича.
XL: Floating-Point Arithmetic May Give Inaccurate Results
http://support.microsoft.com/default.aspx?scid=kb;en-us;78113
Автор: mp3exchanger
Дата сообщения: 15.01.2004 22:35
Tropin
Цитата:
эксель по определению кривой

Я с этим не согласен. Excel - очень хорошая программа. Ведь у Microsoft Office есть аналоги (к примеру, бесплатный OpenOffice), но ты наверняка ими не пользуешься именно потому, что Excel лучше и мощнее других.

leia
Цитата:
Это не глюк, это фича.

Нет, это не то. Точнее, описанные там способы проблему не решили.
Автор: Tropin
Дата сообщения: 16.01.2004 08:34
mp3exchanger

Цитата:
Excel - очень хорошая программа.

Давайте не будем тут обсуждать достоинства и недостатки экселя, не тот форум. А по поводу лучше и мощнее... спорно... просто она (эксель) массам понятна из за своей мышино-визуальной универсальности, имхо для конкретной задачи ищу более простые (менее глюкавые :) пути...

Цитата:
Точнее, описанные там способы проблему не решили

Там же русским по белому написано:
Example Adding a Negative Number
Про это примерно я и говорил, любой программист Вам скажет, что нельзя действительные числа влоб проверять на равенство или неравенство...
leia
Абсолютно согласен...


Добавлено
mp3exchanger
Проблему рекомендую решить так:
значение|вне|=A1+B1-C1-1E-15|=A1+B1-C1+1E-15 или приблизительно так, надеюсь смысл понятен...
Автор: mp3exchanger
Дата сообщения: 16.01.2004 21:16
************* удалено автором
Автор: leia
Дата сообщения: 16.01.2004 23:03
mp3exchanger, я объяснять, пожалуй, не решусь - не осмеливаюсь причислять себя к гуру, но хочу спросить: а в чем, собственно проблема?


Цитата:
Нет, это не то. Точнее, описанные там способы проблему не решили.

А почему ты решил бороться с проблемой, прибавляя 0,0....1? В статье описаны два метода:
Method 1: The ROUND Function
Method 2: Precision as Displayed
Выбранный тобой метод - это 1 или 2?

А вот еще повод повозмущаться глючностью Excel: простая формула =16,4-15,4=1
Кажется, что она должна давать тот же результат, что и =15,4-14,4=1?
Автор: mp3exchanger
Дата сообщения: 16.01.2004 23:27
leia
Цитата:
а в чем, собственно проблема?
Здрасьте... приехали... почитай 12 постов выше

Цитата:
А почему ты решил бороться с проблемой, прибавляя 0,0....1?
Потому что мне предложил это Tropin

Цитата:
В статье описаны два метода:
Method 1: The ROUND Function
Method 2: Precision as Displayed
А вот как раз к этим двум методам я и относил
Цитата:
Нет, это не то. Точнее, описанные там способы проблему не решили.

Цитата:
А вот еще повод повозмущаться глючностью Excel: простая формула =16,4-15,4=1
Кажется, что она должна давать тот же результат, что и =15,4-14,4=1?
Правильно, ты просто нашёл ещё один частный случай моей проблемы
Автор: leia
Дата сообщения: 17.01.2004 10:37

Цитата:
А вот как раз к этим двум методам я и относил
Цитата:Нет, это не то. Точнее, описанные там способы проблему не решили.

Не может быть Если в условном форматировании использовать формулу =ОКРУГЛ(A1+B1-C1;4), а вместо =СУММ(D2:D4) прописать =ОКРУГЛ(СУММ(D2:D4);4), то это не может не помочь. (В данном случае второе округление даже не обязательно, но желательно.)


Цитата:
Цитата:А почему ты решил бороться с проблемой, прибавляя 0,0....1?
Потому что мне предложил это Tropin

Я думаю, что он все-таки хотел предложить вместо сравнения в лоб
a+b-c=0
использовать
|a+b-c|<1E-15
по крайней мере, в программировании лучше именно так проверять на равенство floating point числа.


Цитата:
Цитата:а в чем, собственно проблема?
Здрасьте... приехали... почитай 12 постов выше

Из твоих слов То, что написано в той статье я и сам понял можно было сделать вывод, что проблема исчерпана, потому что в статье все разжевано дальше некуда.

Попробую вкратце то же самое, но по-русски.
Excel хранит и обрабатывает десятичные числа в двоичном виде согласно стандарту IEEE 754. Не всякую десятичную дробь можно точно представить в двоичном виде, отсюда потери точности. В статье приводится пример, что 0,1 нельзя представить конечным двоичным числом.
(Точно так же нельзя дробь 1/3 представить в виде конечной десятичной дроби)
Дальше подробно, с кучей примеров эта мысль иллюстрируется.

Вот совсем простой пример:
2/3-1/3=1/3
То же в десятичной системе счисления с точностью 3 знака после запятой:
0,667-0,333=0,333
0,334=0,333
вот тебе пример той "ошибки", которую ты нашел в excel.
Просто запомни, что в таких случаях нельзя пользоваться сравнением для проверки на равенство, надо или так:
окр(0,667-0,333;2)=окр(0,333;2)
или так:
|0,667-0,333-0,333|<0,01
И будет тебе щастье.
Автор: mp3exchanger
Дата сообщения: 17.01.2004 12:14
leia
Цитата:
в условном форматировании использовать формулу =ОКРУГЛ(A1+B1-C1;4)
Да, это реальное решение, причём до неприличия простое. Жаль, что ты сразу не ответил ЭТОЙ одной строкой. Спасибо за помощь.
Автор: NIXteR
Дата сообщения: 22.01.2004 21:39
Двусторонняя печать

Например в Excel'е книга, 12 стр.
Нужно напечатать их с двух сторон, т.е. на 6 стр. (по-порядку)
В Word’e есть "двусторонняя печать", а в Excel она существует?
Принтер HP 710C
-----------
Office XP
Автор: avital
Дата сообщения: 23.01.2004 07:36
Excel XP после каждого сохранения оставляет файл с предыдущим содержанием (до текущего сохранения) и чем больше сохраняешься, тем больше файлов остается. Такая билеберда только на одной машине. Переустновка офиса не помогла (даже на 2003).
Файлы остаются с таким названием от, например, Book.xls:
Book.xls~001.tmp
Book.xls~002.tmp
Book.xls~003.tmp
и т.д.

Поиски в установках и реестре ничего не дали.
Автор: dicsiple
Дата сообщения: 24.01.2004 11:25
Есть столбец из 600 ячеек. Мне нужно умножить каждое значение на 5%, а первоначальный столбец удалить. Делаю в новом столбце так: =ссылка на первую ячейку первого столбца*1,05 и растягиваю до последней ячейки. Все прекрасно. Но как только удаляю первоначальный столбец, все значения=0.
Пытаюсь по другому. Создаю новый документ. Там даю ссылку на первый и, пытаясь растянуть на все ячейки, получаю одну и ту же цифру. Что делать?
Автор: Horbak
Дата сообщения: 24.01.2004 11:33
dicsiple
Просто скрой столбец.
Автор: dicsiple
Дата сообщения: 24.01.2004 11:41
То есть после столбца В будет идти D? Такой вариант был отвергнут сразу, так как это прайс лист и его буду отсылать по почте, а первоначальные цены нежелательно показывать.
Автор: MichaelII
Дата сообщения: 24.01.2004 11:49
Выдели весь созданный столбец.
Копировать. Затем правой кнопкой мыши ->специальная вставка->значения. Потом можешь удалять ненужный.
Автор: ironwit
Дата сообщения: 24.01.2004 11:50
dicsiple

1. там очевидно при перетягивании формулы на другой лист там не изменяется соответсвенно формула на другую ячейку. Попробуй поиграться со знаком $ с формуле. Либо брось формулу сюда (с примерами ячеек).
2. Запрети лист на изменение, тогда они не смогут увидеть этот столбец, и поставь его не D к примеру а где нить на ZZZ - чтобы не увидели что какой то столбец скрыт.
Автор: NIXteR
Дата сообщения: 24.01.2004 12:11
А с печатью кто-нибудь разобрался?
Автор: Tropin
Дата сообщения: 26.01.2004 11:22
NIXteR
Там не все так просто, это в ворде листы идут один за другим, а в экселе они как по вертикали, так и по горизонтали могут иметь продолжение, и вопрос встает какой именно лист считать четным или нечетным??? Если они у тебя все только по вертикали - пишешь скрипт, если не разберешься, то я напишу (щас просто влом лезть смотреть :)
Автор: Sws
Дата сообщения: 01.02.2004 13:43
Помогите решить такую задачу:

Таблица состоит из двух столбцов: ФИО и зарплата. Столбец зарплата имеет числовой формат. В этом столбце надо оставить только те значения, которые кратны 3. Причем сделать это надо ОБЯЗАТЕЛЬНО с применением МАСКИ (в этом вся проблема). Нельзя использовать фильтры и т. д. Использование функций если и т. п. также крайне нежелательно.

Если у кого есть какие-то мысли по этому поводу, буду признателен и благодарен.

Автор: Robert
Дата сообщения: 02.02.2004 17:25
Sws
Если с функциями, то
=ЕСЛИ(ОСТАТ(зарплата;3)=0;зарплата;0)
Не совсем понял, какую именно маску нужно использовать?
Автор: ironwit
Дата сообщения: 16.02.2004 11:46
Такой странный глюк. При нажатии на клавиши перемещения курсора перемещееться не курсор( квадратик куда еткст вводится ), а двигается весь лист, а курсор стоит на месте. Куда рыть то? Office 2003. Но, по-моему такое же было и в XP.
Автор: Horbak
Дата сообщения: 16.02.2004 12:11
ironwit
Scroll Lock - выключи
Автор: ironwit
Дата сообщения: 16.02.2004 13:03
Horbak

Цитата:
Scroll Lock - выключи


Спасибо, давно так не ловился
Автор: Sanyom
Дата сообщения: 01.03.2004 10:36
Ребята Хелп! Очень срочно нужно решить следующую проблему!
Есть книга ексель с общим доступом, так вот почему то пропадают примечания в чем может быть проблема?
Автор: CaptainFlint
Дата сообщения: 02.03.2004 16:29
А можно ли в Excel 2003 сделать прокрутку плавную, а не прыгающую по ячейкам? А то есть у меня таблицы с очень большими ячейками (по две-три на страницу влезают только), соответственно когда прокручиваю, вся таблица скачет дикими прыжками, особенно если учесть, что один шаг колёсика соответствует 3-м единичным сдвигам - это иногда аж больше, чем на страницу прыжки получаются...
Пока что единственный способ, который я нашёл - нажать среднюю кнопку мыши и управлять получившимся "джойстиком" - тогда прокрутка плавная, но оченьуж медленная, а если ускорять, то сначала доходит до определённого предела по скорости (тоже довольно медленного), некоторое время не ускоряется, а потом рывком начинает проматывать весь документ с бешеной скоростью (куда там PageDown'у! )
Автор: oaken
Дата сообщения: 02.03.2004 17:54
Как удалить "поименованую область" в екселе - не знаю как правильно назвать.
Допустим выделяю я какую-то область ячеек и присваиваю ей название в окне что около строки формул. Как потом удалить это имя не удаляя саму область.
Автор: vserd
Дата сообщения: 02.03.2004 18:56
oaken
Если попробовать так Вставка--Имя-- Присвоить--<Выбрать имя> --Удалить
не оно?
Автор: oaken
Дата сообщения: 03.03.2004 10:17
самое то! спасибо огромное
Автор: ru4room
Дата сообщения: 16.03.2004 09:11
после переустановки системы Эксель стал себя странно вести: при построении прогрессии путём перетаскивания мышой происходит следующее: ставим в первую ячейку "1", во вторую "2", тянем мышой и вместо ряда "1,2,3,4,..." получаем "1,2,1,2,..."
не подскажете, где что тыкнуть, чтобы нормально работало?
Автор: rail
Дата сообщения: 17.03.2004 19:44
Совсем простой вопрос. Как связать ячейки? (excel использую один раз в год).
Импортировал ДОСовский файл формата типа А- "дата" В-"событие" С-"коментарии"
При попытке сортировки по дате сортируется только дата, а события остаются на месте, то есть после сортировки ничего не совпадает.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.