Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Очень длинная формула вс Excel 2003 (http://forum.oszone.net/showthread.php?t=270713)

Макс Фолдер 26-10-2013 14:11 2241394

Очень длинная формула вс Excel 2003
 
Доброго времени суток.

Вставляю очень длинную формулу в 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 2241410

Макс Фолдер, у вас одна закрывающая скобка лишняя, но это мелочи. Формула в целом очень неэффективная.
Не хотите заменить ее на такую:
Код:

=ОКРУГЛ(E9/5*5,2*СЛЧИС();1)

Макс Фолдер 26-10-2013 18:00 2241492

okshef,
нет, в зависимости от значения в ячейке E9 нужна генерация случайных чисел в разном диапазоне, т.е если например 50, то число генерируется от 49,78 до 50,1.

okshef 26-10-2013 20:20 2241547

Макс Фолдер, в вашей формуле этого нет.

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

Цитата:

Цитата Макс Фолдер
число генерируется от 49,78 до 50,1 »

тогда нужно использовать не СЛЧИС, а СЛУЧМЕЖДУ

Макс Фолдер 27-10-2013 15:52 2241937

okshef,
Цитата:

Почему вы отметили тему решенной?
потому что сделал немного по другому, немного не так как хотел, но меня устраивает.
Цитата:

тогда нужно использовать не СЛЧИС, а СЛУЧМЕЖДУ
это для Excel 2013
Цитата:

Макс Фолдер, в вашей формуле этого нет.
а это что:
Цитата:

ЕСЛИ(E9=5;ОКРУГЛ((СЛЧИС()*(5,2-4,8)+4,8);1)
соответственно если в ячейке значение 5, то в ячейке где прописана эта формула генерируется случайное число из диапазона, если в ячейке E9 не 5, а другое значение то генерируется случ.число из другого диапазона и т.д., т.е проверяется условие и если оно верно генерируется одно число из соответ. диапзаона, если нет или другое значение - то генерируется из другого диапазона.

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

okshef 27-10-2013 16:18 2241955

Цитата:

Цитата Макс Фолдер
это для Excel 2013 »

Да ладно: СЛУЧМЕЖДУ - Excel - Office.com - обратите внимание на правый верхний угол и инструкции по подключении надстройки "Пакет анализа"

P.S. Специально установил 2003 для проверки


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

Цитата Макс Фолдер
сделал немного по другому »

как, если не секрет?


Время: 20:16.

Время: 20:16.
© OSzone.net 2001-