Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 17:27   #1
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию Упростить формулу

Здравствуйте уважаемые программисты. Написал формулу, которая выдает для ведомости номер первой путевки с фамилией
Код:
=ИНДЕКС(СМЕЩ($A$1;ПОИСКПОЗ(G2;A:A;0)-1;1;31);ПОИСКПОЗ(1;ИНДЕКС(--(СМЕЩ($A$1;ПОИСКПОЗ(G2;A:A;0)-1;2;31)<>0););0))
Можно ли её упростить и главное хотелось бы обойтись без СМЕЩ()
Вложения
Тип файла: rar Пример.rar (15.0 Кб, 6 просмотров)
agregator вне форума Ответить с цитированием
Старый 21.10.2013, 17:57   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Формулы массива:
Код:
=ВПР(G2;(C$2:C$140<>0)*A$2:B$140;2;)
или
Код:
=ИНДЕКС(B$2:B$140;ПОИСКПОЗ(G2;(C$2:C$140<>0)*A$2:A$140;))
ЗЫ Но лучше доп. столбец с формулой
Код:
=(C2<>0)*A2
и немассивную формулу поиска по нему
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 21.10.2013, 19:01   #3
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Serge 007, спасибо за помощь. Скажите ваше мнение, что будет больше тормозить 150 летучих формул или дополнительный столбец 5000 простых формул и 150 ИНДЕКС().

PS 150 летучих
Код:
=ИНДЕКС(Путевки!C:C;ПОИСКПОЗ(ИНДЕКС(СМЕЩ(Ведомости!$B$1;ПОИСКПОЗ(B38;Ведомости!B:B;0)-1;1;31);ПОИСКПОЗ(1;ИНДЕКС(--(СМЕЩ(Ведомости!$B$1;ПОИСКПОЗ(B38;Ведомости!B:B;0)-1;3;31)<>0););0));Путевки!D:D;0);1)
И ещё, какая формула меньше грузит =(E2<>0)*B2 или =ЕСЛИ(E2<>0;B2;0)

Последний раз редактировалось agregator; 22.10.2013 в 16:26.
agregator вне форума Ответить с цитированием
Старый 21.10.2013, 20:24   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от agregator Посмотреть сообщение
что будет больше тормозить 150 летучих формул или дополнительный столбец 5000 простых формул и 150 ИНДЕКС()
Зависит от того какие именно простые формулы. В любом случае волатильные функции пересчитываются при любом изменении на листе, а простые тольео при изменении их исходных данных

Цитата:
Сообщение от agregator Посмотреть сообщение
какая формула меньше грузит =(E2<>0)*B2 или =ЕСЛИ(E2<>0;B2;0)
Вторая

ЗЫ В вашем случае лучше использовать сводную таблицу
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 22.10.2013, 16:27   #5
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Serge 007, спасибо за разъяснения.
agregator вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упростить формулу wertq Microsoft Office Excel 2 09.07.2013 02:05
Как упростить формулу? АННА-ЕАО Microsoft Office Excel 7 23.12.2011 14:53
Упростить формулу? Ok-Alex Microsoft Office Excel 11 03.11.2011 19:20
Упростить формулу staniiislav Microsoft Office Excel 13 24.01.2011 13:37
Упростить формулу Stif-rva Microsoft Office Excel 7 09.03.2009 11:03