PDA

Показать полную графическую версию : [решено] Очень длинная формула вс Excel 2003


Макс Фолдер
26-10-2013, 14:11
Доброго времени суток.

Вставляю очень длинную формулу в Excel 2003, вот такую:

=ЕСЛИ(E9=5;ОКРУГЛ((СЛЧИС()*(5,2-4,8)+4,8);1);ЕСЛИ(E9=10;ОКРУГЛ((СЛЧИС()*(10,4-9,6)+9,6);1);ЕСЛИ(E9=15;ОКРУГЛ((СЛЧИС()*(15,6-14,4)+14,4);1);ЕСЛИ(E9=20;ОКРУГЛ((СЛЧИС()*(20,8-19,2)+19,2);1);ЕСЛИ(E9=25;ОКРУГЛ((СЛЧИС()*(26-24)+24);1);ЕСЛИ(E9=30;ОКРУГЛ((СЛЧИС()*(31,2-28,8)+28,8);1)))))))

пробую дописать к ней довесок, вот такой:

ЕСЛИ(E9=40;ОКРУГЛ((СЛЧИС()*(41,2-38,8)+38,8);1

т.е формула должна быть такой

=ЕСЛИ(E9=5;ОКРУГЛ((СЛЧИС()*(5,2-4,8)+4,8);1);ЕСЛИ(E9=10;ОКРУГЛ((СЛЧИС()*(10,4-9,6)+9,6);1);ЕСЛИ(E9=15;ОКРУГЛ((СЛЧИС()*(15,6-14,4)+14,4);1);ЕСЛИ(E9=20;ОКРУГЛ((СЛЧИС()*(20,8-19,2)+19,2);1);ЕСЛИ(E9=25;ОКРУГЛ((СЛЧИС()*(26-24)+24);1);ЕСЛИ(E9=30;ОКРУГЛ((СЛЧИС()*(31,2-28,8)+28,8);1);ЕСЛИ(E9=40;ОКРУГЛ((СЛЧИС()*(41,2-38,8)+38,8);1)))))))))

жму enter, пишет "ошибка в формуле", вроде по скобкам всё правильно посчитал, по уровню вложении ЕСЛИ тоже не больше 7, почему не даёт ?

в Excel 2003 есть какие-то ограничения по кол-ву символов в формуле ? и как считает символы - имя ячейки из буквы и цифры считает за 2-а символа.

Есть какие-то способы обойти ограничения по общей длине символов и числу вложенных функции не устанавливая 2007 и/или 2010 Office (ну нравится мне Ribbon :) в них ) ? , может есть какие надстройки для Excel 2003 ?

okshef
26-10-2013, 15:09
Макс Фолдер, у вас одна закрывающая скобка лишняя, но это мелочи. Формула в целом очень неэффективная.
Не хотите заменить ее на такую:
=ОКРУГЛ(E9/5*5,2*СЛЧИС();1)

Макс Фолдер
26-10-2013, 18:00
okshef,
нет, в зависимости от значения в ячейке E9 нужна генерация случайных чисел в разном диапазоне, т.е если например 50, то число генерируется от 49,78 до 50,1.

okshef
26-10-2013, 20:20
Макс Фолдер, в вашей формуле этого нет.

Почему вы отметили тему решенной? Объясните все тонкости задачи - попробуем усовершенствовать вашу формулу, ибо то, что у вас сейчас - монстр.

число генерируется от 49,78 до 50,1 »
тогда нужно использовать не СЛЧИС, а СЛУЧМЕЖДУ

Макс Фолдер
27-10-2013, 15:52
okshef,
Почему вы отметили тему решенной?
потому что сделал немного по другому, немного не так как хотел, но меня устраивает.
тогда нужно использовать не СЛЧИС, а СЛУЧМЕЖДУ
это для Excel 2013
Макс Фолдер, в вашей формуле этого нет.
а это что:
ЕСЛИ(E9=5;ОКРУГЛ((СЛЧИС()*(5,2-4,8)+4,8);1)

соответственно если в ячейке значение 5, то в ячейке где прописана эта формула генерируется случайное число из диапазона, если в ячейке E9 не 5, а другое значение то генерируется случ.число из другого диапазона и т.д., т.е проверяется условие и если оно верно генерируется одно число из соответ. диапзаона, если нет или другое значение - то генерируется из другого диапазона.

да и мне нужно генерация не целого числа, а дробного, поэтому и задал такие диапазоны в формуле.

okshef
27-10-2013, 16:18
это для Excel 2013 »
Да ладно: СЛУЧМЕЖДУ - Excel - Office.com (http://office.microsoft.com/ru-ru/excel-help/HP005209230.aspx) - обратите внимание на правый верхний угол и инструкции по подключении надстройки "Пакет анализа"

P.S. Специально установил 2003 для проверки
http://okshef.narod.ru/Tech_Img/Office/ranbetw.PNG

Собственно, не смею настаивать: если вам удобнее разбираться в формулах по 200 знаков - ваше право. Отмечу лишь, что формула, предложенная мной

короче
работает быстрее
универсальна
дает тот же результат

сделал немного по другому »
как, если не секрет?




© OSzone.net 2001-2012