Не работает ссылка на ячейку?

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
komarov
Сообщения: 24
Зарегистрирован: 28 окт 2004, 06:26

В ячейку B21 вводится число 2,5.
В ячейке B22 - формула:
=ЕСЛИ(B21<=25;B21;ЕСЛИ(B21=40;E10;ЕСЛИ(И(25<B21;B21<50);E11;ЕСЛИ(B21=50;E13;ЕСЛИ(И(50<B21;B21<=75);E13 ;) ))))
В ячейке B23:
=ЕСЛИ(B22<=0,1;E2;ЕСЛИ(И(0,1<B22;B22<=0,2);E3;ЕСЛИ(И(0,2<B22;B22<=1);E4;ЕСЛИ(И(1<B22;B22<=2);E5;ЕСЛИ(B22=5;E6;ЕСЛИ(И(2<B22;B22<5);E7;ЕСЛИ(B22=10;E8;D33)))))))
В ячейке B31:
=ЕСЛИ(B23=E2;F2;ЕСЛИ(B23=E3;F3;ЕСЛИ(B23=E4;F4;ЕСЛИ(B23=E5;F5;ЕСЛИ(B23=E6;F6;ЕСЛИ(B23=E7;F7;ЕСЛИ(B23=E8;F8;D35)))))))
В ячейках E6;F6;E7;F7 числа 5;0,02;5;0,05 соответственно
В ячейке B31 выводится почему-то 0,02?
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

а вот мне не лень было проверить! :)
в ячейку В23 у тебя попадает 5 из-за шестого ЕСЛИ (5 берётся из Е7)
соответственно в В31 попадает 0,02 из-за шестого же ЕСЛИ
Изображение
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

komarov, а как Вы смотрите на то, чтобы немного сократить Ваши формулы, например вместо :
=ЕСЛИ(B22<=0,1;E2;ЕСЛИ(И(0,1<B22;B22<=0,2);E3;ЕСЛИ(И(0,2<B22;B22<=1);E4...
использовать вот такой вариант :
=ЕСЛИ(B22<=0,1;E2;ЕСЛИ(B22<=0,2;E3;ЕСЛИ(B22<=1;E4...
komarov
Сообщения: 24
Зарегистрирован: 28 окт 2004, 06:26

2 Игорь Акопян
Я все-таки не понял, ведь "5" берется из Е7? Почему же из F7 нельзя взять "0,05"?
2 pashulka
Да, можно и подсократить формулы. Сначала написал подробно для наглядности, а потом было не до улучшений - выявить бы закавыку!
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

komarov, прости обсчитался - в В31 попадает 0,02 из-за пятого если, а поскольку пятое условие отрабатывает раньше... У тебя же и в Е6 тоже 5
Изображение
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

komarov, Вполне вероятно, что сокращённый вариант не вызвал бы временного затруднения, именно ввиду краткости подобной формулы, а значит и наглядности :P (во всяком случае для меня)
komarov
Сообщения: 24
Зарегистрирован: 28 окт 2004, 06:26

Так все-таки, в чем же тут дело? Неужели адреса ячеек придется заменять на громоздкие конструкции вычисления "ЕСЛИ" в каждом конкретном случае? Я никак не пойму, в чем может быть причина!
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

komarov, я вроде доступно изложил... Перестаю понимать что ты хочешь, но как вариант - переставь содержимое ячеек F6 и F7 и будет тебе счастье ;)
Изображение
Ответить