Excel vba case
Автор Павел Балунов задал вопрос в разделе Другие языки и технологии
вопрос по "множественному" ЕСЛИ в логических формулах Excel 2007 и 2010 и получил лучший ответ
Ответ от Алексей Матевосов (AlexM)[гуру]
Ваш файл 2003 Эксель открыть не получается.
Проблема вложенных функций ЕСЛИ в 2003 еще острее. Допускается всего до 7 вложений.
Поэтому давно придуман способ обхода этого ограничения. Этот способ подойдет, если в вашей задаче возвращаемые значения числа.
Пример. Если в А1=1 возвращаем 10; если в А1=2 возвращаем 15; если в А1=3 возвращаем 25; если в А1=4 возвращаем 150; если в А1=5 возвращаем 105; если в А1=6 возвращаем 55; если в А1=7 возвращаем 75; если в А1=8 возвращаем 44; если в А1=9 возвращаем 240; если в А1=10 возвращаем 188
Формула без ЕСЛИ будет такой =(A1=1)*10+(A1=2)*15+(A1=3)*25+(A1=4)*150+(A1=5)*105+(A1=6)*55+(A1=7)*75+(A1=8)*44+(A1=9)*240+(A1=10)*188
Однако ограничение все таки есть. Длина формулы должна быль не более 1024 символа
Ну и как правильно заметили, подобные задачи надо решать макросом или делать собственные функции.
Дополнение. Если А1 =1 или А1=33 возвратить 10. Пишется так ((A1=1)+(A1=33))*10 Так можно реализовать функции И и ИЛИ
Найти аналог caseswitch?
просто сделай подругому... по 50 шт выщитывай
100 вложенных "ЕСЛИ"??? афигеть... попробуй другой подход (вспомогательные ячейки, список значений... хз, не видя полностью задачи подсказать трудно) ну или ВБ.
Точно, надо сделать по-другому. Иначе, если вдруг какому-то пользователю этого Самого Калькулирующего В Мире Калькулятора вдруг потребуется какой-нибудь другой размер публикации, то он будет автора просить еще Ифов подбросить? Замечательная прикладуха. Гарантирует вечную занятость. 🙂
Решение для автора: перепиши формулу на VBA.
чтобы подсказать - надо видеть.
Выкладываете свой файл + подробные условия скидки
VBA Excel Обработка ошибки
из справки VBA:
On Error
Statement
Enables an error-handling routine
подробнее...
VBA EXCEL. Где найти список формул по английски??? чтоб потом вписывать формулы через VBA.
в справке VBA строка поиска: list function
Excel 2007 Developer Reference > Concepts
подробнее...
VBA Excel. Работает ли Select case вместе с Like? Хучу сортировать данные в зависимости от части названия книги. Книга*
Напрямую так - нет. Можно сделать только с < > = и сочетаниями
н-р
Dim s as
подробнее...
Как задать глобальную переменную в Excel?
Префикс Public ?
Remarks
Variables declared using the Public statement are
подробнее...
что делает свойство caller объекта application?? Вопрос по VBA в Excel
Excel Developer
Reference
Application.Caller
PropertyReturns information about
подробнее...
как сделать метку в VBA (синтаксис) ? Заранее спасибо.
Sub Test()
On Error GoTo Errors1 ' <-переход на метку
Dim x As Integer
Dim a As
подробнее...