Консультация № 111490
29.11.2007, 04:43
0.00 руб.
0 1 1
Здравствуйте, господа эксперты!
Неожиданно возник на работе вопрос по Экселю, а так я в нем ориентируюсь слабо, то решил переадресовать вопрос вам:).
Есть таблица с данными: торговые агенты и приписанные к ним торговые точки, есть автофильтр по фамилии агента. Вопрос состоит в том, что при выборе значения в фильтре он скрывает неподходящие данные, а нумерация строк остается прежней - а нужно чтобы, например выбрали агента, его точки записаны на разных строках и не с начала. Нужно чтобы после выбора сменилась нумерация строк, чтобы она шла с начала и было видно сколько у агента точек.
Насколько я понял, для этого придется лезть в VB, но я готов, хотя и и имею о нем весьма поверхностное представление.
В принципе меня даже устроит, если при выборе в автофильтре значения ВСЕ, будет показываться нормальная нумерация, а при выборе какого-либо значения по агенту, столбец с этой нумерацией будет скрыт, а показан другой, где для каждого агента будет вручную проставлена нумерация по точкам.
Подскажите пожалуйста как это сделать или дайте ссылки на литературу, где решаются подобные задачи.

Обсуждение

Неизвестный
29.11.2007, 08:24
общий
это ответ
Здравствуйте, UnknownDS!

Эту задачу можно вполне удобно решить с помощью формулы с функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

Допустим нумерация должна быть в первом столбце листа, содержащего автофильтр. Все данные таблицы находятся во втором и далее столбцах листа. Первая строка листа - заголовки таблицы.
Тогда пишем в ячейку A2 формулу, указанную в приложении и размножаем ее на всю длину списка таблицы и еще одну строку дальше (дополнительная строка должна быть заполнена из-за небольшой своеобразности работы автофильтра).

ВАЖНО! Формула должна быть записана именно так, как указано, с учетом относительных и абсолютны ссылок (знаки $) и размножение ее должно быть именно копированием ячеек или растягиванием формулы на длину области заполнения.

Можно посмотреть пример здесь: www.genyaa.nm.ru/excel/NumberingAutofilter.zip

Приложение:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;$B$2:B2)
Форма ответа