Вопрос № 111490: Здравствуйте, господа эксперты!
Неожиданно возник на работе вопрос по Экселю, а так я в нем ориентируюсь слабо, то решил переадресовать вопрос вам:).
Есть таблица с данными: торговые агенты и приписанные к ним торговые точки, есть автофильтр ...
Вопрос № 111.490
Здравствуйте, господа эксперты!
Неожиданно возник на работе вопрос по Экселю, а так я в нем ориентируюсь слабо, то решил переадресовать вопрос вам:).
Есть таблица с данными: торговые агенты и приписанные к ним торговые точки, есть автофильтр по фамилии агента. Вопрос состоит в том, что при выборе значения в фильтре он скрывает неподходящие данные, а нумерация строк остается прежней - а нужно чтобы, например выбрали агента, его точки записаны на разных строках и не с начала. Нужно чтобы после выбора сменилась нумерация строк, чтобы она шла с начала и было видно сколько у агента точек.
Насколько я понял, для этого придется лезть в VB, но я готов, хотя и и имею о нем весьма поверхностное представление.
В принципе меня даже устроит, если при выборе в автофильтре значения ВСЕ, будет показываться нормальная нумерация, а при выборе какого-либо значения по агенту, столбец с этой нумерацией будет скрыт, а показан другой, где для каждого агента будет вручную проставлена нумерация по точкам.
Подскажите пожалуйста как это сделать или дайте ссылки на литературу, где решаются подобные задачи.
Отправлен: 29.11.2007, 04:43
Вопрос задал: UnknownDS (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Genyaa
Здравствуйте, UnknownDS!
Эту задачу можно вполне удобно решить с помощью формулы с функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
Допустим нумерация должна быть в первом столбце листа, содержащего автофильтр. Все данные таблицы находятся во втором и далее столбцах листа. Первая строка листа - заголовки таблицы.
Тогда пишем в ячейку A2 формулу, указанную в приложении и размножаем ее на всю длину списка таблицы и еще одну строку дальше (дополнительная строка должна быть заполнена из-за небольшой своеобразности работы автофильтра).
ВАЖНО! Формула должна быть записана именно так, как указано, с учетом относительных и абсолютны ссылок (знаки $) и размножение ее должно быть именно копированием ячеек или растягиванием формулы на длину области заполнения.
Можно посмотреть пример здесь: www.genyaa.nm.ru/excel/NumberingAutofilter.zip
Приложение:
--------- Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: Студент)
Ответ отправлен: 29.11.2007, 08:24 Оценка за ответ: 5 Комментарий оценки: Спасибо большое! Как легко и изящно это решается:). Просто формула подсчета непустых строк с первой строки по текущую. Еще раз спасибо, чем больше узнаю об Экселе, тем больше понимаю что я о нем ничего не знаю :)