Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Множественное ЕСЛИ, Чем заменить множественное ЕСЛИ не используя таблиц.
 
Как-то сложновато получилось.
Я не вижу особых преимуществ у такой формулы - читается она тяжело, работает дольше, да и (чисто теоретически) может сбойнуть: скажет, что "прельМа" - это тоже весна  :D  
Одна радость - нет лимита на уровень вложенности ЕСЛИ.

Наверное, можно проще. Днём.
Изменено: ro.dimchik - 14.04.2013 03:04:17
Дмитрий Романенко
Множественное ЕСЛИ, Чем заменить множественное ЕСЛИ не используя таблиц.
 
Февраль - это весна?
Код
=ИНДЕКС({"зима":"весна":"лето"};СУММ(ЕЧИСЛО(НАЙТИ(G31;{"ЯнварьФевральДекабрь":"МартАпрельМай":"ИюньИюльАвгуст"}))*{1:2:3}))

Будет искать с учётом регистра.
Если нужно без учёта - замените НАЙТИ на ПОИСК.
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
С.М., спасбо, очень интересный вариант.
Вроде бы работает правильно, хотя в детали алгоритма ещё не вник.
На большом объеме потестирую в понедельник.
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
Принято.
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
Ну я же написал:
Цитата
ro.dimchik пишет:
К сожалению -моя вина - ...
Вы вообще смотрели оба примера?
Вы можете, навскидку, определить, что второй - действительно более сложный?
Да, на шесть строк длиннее. Но сложнее ли? Структура та же.

Давайте прибегнем к аналогии. Стоит задача - написать код сложения целых чисел. Точка.
Приведён пример: 6+4 должно получиться 10.
Если кто-нибудь сможет, реализуя алгоритм сложения целых чисел, написать правильный код для чётных чисел, некорректно работающий для нечётных - это тоже будет вина примера?

Извините, не могу принять Ваши претензии. Спор бессмысленный.
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
Цитата
Юрий М пишет:
Получается, человек зря тратил на Вас своё время...
Почему?
В первом посте не было сказано, что решение требуется только для данного примера.
Были описаны структура данных и задача.
Был приведён пример. Абсолютно корректный. Для данного примера всё работает правильно. Для другого примера такой же структуры - нет.

Цитата
Юрий М пишет:
КТО мешал показать РЕАЛЬНЫЕ данные?
Все 20.000+ строк? По семь-десять файлов в день? Вы шутите?
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
Большое спасибо за попытку, Skif-F.
Для приложенного примера работает верно.
К сожалению -моя вина - предыдущий пример был составлен не совсем хорошо. Реальные данные более сложные. Для ряда случаев Ваш алгоритм "свёртки" работает неправильно.

Пример в файле.
Дмитрий Романенко
Посчитать четные и нечетные, но есть в числах еще буква
 
Чётные:
Код
=СУММ(ЕСЛИ($C$14:$C$253>0;1-ОСТАТ(ПОДСТАВИТЬ(ПРОПНАЧ($C$14:$C$253);"W";"");2);0))


Нечётные:
Код
=СУММ(ЕСЛИ($C$14:$C$253>0;ОСТАТ(ПОДСТАВИТЬ(ПРОПНАЧ($C$14:$C$253);"W";"");2);0))


Обе формулы - формулы массива.
Дмитрий Романенко
Улучшение многоразового ВПР, Необходимо вытащить ВСЕ данные с таблицы, по ДВУМ критериям
 
Или с дополнительным столбцом - меньше вычислений и легче скрыть ошибки.
Дмитрий Романенко
Улучшение многоразового ВПР, Необходимо вытащить ВСЕ данные с таблицы, по ДВУМ критериям
 
Так?
Дмитрий Романенко
Создание группировки строк с дополнительным условием
 
Доброго времени суток форуму!
Помогите, пожалуйста, ускорить и (или) упростить работу макроса группировки строк.
Имеется очень большой (20.000+) список, на самом деле - иерархический, но представленный в простом виде (в файле - пример на листе Данные).
Вид иерархии - "итоги сверху".
В самом низу - строка общих итогов. Её группировать не надо.
Уровень каждой строки задается числом в первом столбце.

Нужно создать на листе соответствующую структуру.
Важное дополнительное условие - группы (подгруппы), у которых имеется только один подчиненный уровень, нужно "свернуть".

Необходимый вид в файле - на листе Результат.
Мои попытки решить эту задачу (используя примеры с разных форумов) - тоже в файле.
Но работает этот макрос медленно.  :(  

Посоветуйте, как можно его ускорить или есть метод лучше (без лишнего цикла)?
Спасибо.
Изменено: ro.dimchik - 13.04.2013 10:37:54
Дмитрий Романенко
Отключение клавиш F1-F12
 
Можно. Например:
Код
Application.OnKey "{F1}", ""
Дмитрий Романенко
Страницы: 1
Наверх