|
Формула в типе цен | ☑ | ||
---|---|---|---|---|
0
Z2020
07.08.20
✎
15:27
|
Добрый день! Помогите найти ошибку в формуле
?([Розничные]*100/[Закупочные]-100 < 25,[Розничные]*97/100, ?([Розничные]*100/[Закупочные]-100 >= 25 и [Розничные]*100/[Закупочные]-100 < 30,[Розничные]*96/100, ?([Розничные]*100/[Закупочные]-100 >= 30 и [Розничные]*100/[Закупочные]-100 < 35,[Розничные]*95/100, ?([Розничные]*100/[Закупочные]-100 >= 35 и [Розничные]*100/[Закупочные]-100 < 45,[Розничные]*94/100, ?([Розничные]*100/[Закупочные]-100 >= 45 и [Розничные]*100/[Закупочные]-100 < 60,[Розничные]*93/100, ?([Розничные]*100/[Закупочные]-100 >= 60 и [Розничные]*100/[Закупочные]-100 < 65,[Розничные]*90/100, ?([Розничные]*100/[Закупочные]-100 >= 65 ,[Розничные]*88/100))))))) |
|||
1
lamme
07.08.20
✎
15:32
|
кажись, с кавычками намудрил
|
|||
2
lamme
07.08.20
✎
15:33
|
если такие вещи сложные - то делай через
Если тогда иначе Если тогда иначе конецесли; конецесли; |
|||
3
Z2020
07.08.20
✎
15:39
|
может со скобками?
|
|||
4
FIXXXL
07.08.20
✎
16:01
|
(0) ошибка в чем выражается?
|
|||
5
Z2020
07.08.20
✎
16:02
|
В формуле обнаружены ошибки
|
|||
6
acht
07.08.20
✎
16:06
|
Ошибка в последеней строке
|
|||
7
lamme
07.08.20
✎
16:15
|
(4)
в несоблюдении пунктуации. если вообще лень и хочется быть крутым - то сделай это условие по шагам те сначала одно ?() потом вкладывай еще одно ?(?()) и тд = и так - найдешь на каком этапе буксует. за тебя это никто делать не будет и готового решения тут тебе не выдадут. |
|||
8
lamme
07.08.20
✎
16:16
|
а по факту - смотри внимательно на (6)
|
|||
9
vova1122
07.08.20
✎
16:17
|
?([Розничные]*100/[Закупочные]-100 < 25,[Розничные]*97/100,
?([Розничные]*100/[Закупочные]-100 < 30,[Розничные]*96/100, ?([Розничные]*100/[Закупочные]-100 < 35,[Розничные]*95/100, ?([Розничные]*100/[Закупочные]-100 < 45,[Розничные]*94/100, ?([Розничные]*100/[Закупочные]-100 < 60,[Розничные]*93/100, ?([Розничные]*100/[Закупочные]-100 < 65,[Розничные]*90/100,[Розничные]*88/100)))))) как-то так можно упростить |
|||
10
lamme
07.08.20
✎
16:18
|
это твое последнее условие
?([Розничные]*100/[Закупочные]-100 >= 65 ,[Розничные]*88/100) ничего не видишь , |
|||
11
lamme
07.08.20
✎
16:18
|
?
|
|||
12
ГоловуСломала
07.08.20
✎
16:32
|
(0) У вас просто нет общего условия, ну т.е вы пишите что если условия такие-то то считать вот так, а если условия не выполнились? Вот он и ждет что вы ему пропишите еще условие общее.. вот vova1122 правильную наводку дал...в последней строке добавьте...
|
|||
13
ГоловуСломала
07.08.20
✎
16:35
|
ну вот так например
?([Розничные]*100/[Закупочные]-100 < 25,[Розничные]*97/100, ?([Розничные]*100/[Закупочные]-100 >= 25 и [Розничные]*100/[Закупочные]-100 < 30,[Розничные]*96/100, ?([Розничные]*100/[Закупочные]-100 >= 30 и [Розничные]*100/[Закупочные]-100 < 35,[Розничные]*95/100, ?([Розничные]*100/[Закупочные]-100 >= 35 и [Розничные]*100/[Закупочные]-100 < 45,[Розничные]*94/100, ?([Розничные]*100/[Закупочные]-100 >= 45 и [Розничные]*100/[Закупочные]-100 < 60,[Розничные]*93/100, ?([Розничные]*100/[Закупочные]-100 >= 60 и [Розничные]*100/[Закупочные]-100 < 65,[Розничные]*90/100, ?([Розничные]*100/[Закупочные]-100 >= 65 ,[Розничные]*2,[Розничные]*88/100))))))) |
|||
14
vova1122
07.08.20
✎
16:40
|
(13) и что ты напридумала тут? С синтаксисом наверное правильно, но с логикой нет ("Иначе" в последней строке никогда не отработает). Ну и как я написал Все условия до "И" лишние в данном случае.
|
|||
15
ГоловуСломала
07.08.20
✎
16:40
|
(14) А вы попробуйте
|
|||
16
vova1122
07.08.20
✎
16:46
|
Даже пробовать ненужно. Такой примитивный код глазами отрабатывается. 1. В последнюю строку попадаем, когда и так будет только больше 65. И еще раз проверяем действительно ли больше 65 (а тут никаких других значений и небудет. Так как все меньшне 25 будут в первой строке, от 25 до 65 распределяться в середине. И на "Иначе" в последней строке просто нет больше чисел. Или использовать Комплексные числа)
|
|||
17
ГоловуСломала
07.08.20
✎
17:09
|
(16) Ну просто вы человек и конечно логически можете предположить что условие больше 65 исключает дальнейшие действия, но программа этого не знает, и поэтому (как вы сами выше писали) должно сохраниться условие ЕСЛИ ТОГДА ИНАЧЕ.... Автор правильно расписал ЕСЛИ ТОГДА,но не закончил ИНАЧЕ у него в формуле нет... И да, я там копировала и неправильно вставила в итоге должно получиться так
?([Розничные]*100/[Закупочные]-100 < 25,[Розничные]*97/100, ?([Розничные]*100/[Закупочные]-100 >= 25 и [Розничные]*100/[Закупочные]-100 < 30,[Розничные]*96/100, ?([Розничные]*100/[Закупочные]-100 >= 30 и [Розничные]*100/[Закупочные]-100 < 35,[Розничные]*95/100, ?([Розничные]*100/[Закупочные]-100 >= 35 и [Розничные]*100/[Закупочные]-100 < 45,[Розничные]*94/100, ?([Розничные]*100/[Закупочные]-100 >= 45 и [Розничные]*100/[Закупочные]-100 < 60,[Розничные]*93/100, ?([Розничные]*100/[Закупочные]-100 >= 60 и [Розничные]*100/[Закупочные]-100 < 65,[Розничные]*90/100, ?([Розничные]*100/[Закупочные]-100 >= 65 ,[Розничные]*88/100,[Розничные]*2))))))) ну просто он никогда не будет умножать на 2, а вот для формулы ему это необходимо |
|||
18
vova1122
07.08.20
✎
17:20
|
(17) Вы главного моего посыла не поняли (Все условия в каждой строке до "И" лишние. Например во вторую строку мы и так попадаем когда больше 30. Зачем еще раз это проверять? И так по каждой строке. В итоге приходим к моему варианту. А по логике для машины естественно отработает одинаково что мой что ваш исправленный код .
|
|||
19
ГоловуСломала
07.08.20
✎
17:23
|
(18) Ну тут я с вами полностью согласна
|
|||
20
vova1122
07.08.20
✎
17:36
|
(19) Кстати ты на форуме зарегистрировалась раньше чем народилась.....
|
|||
21
ГоловуСломала
07.08.20
✎
17:47
|
(20) Только сейчас обратила внимание на это 🤣🤣🤣, так-то судя по профилю мне и от роду-то всего 4 дня.... Ну что ж... Бывает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |