Сакривање/приказивање непотребних редова и колона

Формулисање проблема

Претпоставимо да имамо такав сто са којим морамо да "плешемо" сваки дан:

 

To whom the table seems small – mentally multiply it twenty times by area, adding a couple more blocks and two dozen large cities. 

Задатак је да се са екрана привремено уклоне редови и колоне који су тренутно непотребни за рад, тј. 

  • сакријте детаље по месецима, остављајући само квартале
  • сакрити укупне вредности по месецима и кварталима, остављајући само збир за пола године
  • сакрити градове који су тренутно непотребни (радим у Москви – зашто да видим Санкт Петербург?) итд.

У стварном животу постоји море примера таквих табела.

Метод 1: Сакривање редова и колона

Метода је, искрено, примитивна и није баш згодна, али о томе се могу рећи две речи. Било који претходно изабрани редови или колоне на листу могу се сакрити десним кликом на колону или заглавље реда и избором команде из контекстног менија Сакрити (Сакрити):

 

За обрнути приказ, изаберите суседне редове/колоне и десним кликом изаберите из менија, односно дисплеј (Откриј).

Проблем је што морате да радите са сваком колоном и редом појединачно, што је незгодно.

Метод 2. Груписање

Ако изаберете више редова или колона, а затим изаберете из менија Подаци – Група и Структура – ​​Група (Подаци — Група и Контура — Група), онда ће бити стављени у угласту заграду (груписани). Штавише, групе могу бити угнежђене једна у другу (дозвољено је до 8 нивоа гнежђења):

Погоднији и бржи начин је да користите пречицу на тастатури за груписање унапред изабраних редова или колона. Алт+Схифт+стрелица надесно, и за разгруписавање Алт+Схифт+стрелица налево, редом.

Овај метод сакривања непотребних података је много практичнији – можете или да кликнете на дугме са „+"Или"-“, или на дугмадима са нумеричким нивоом груписања у горњем левом углу листа – тада ће се све групе жељеног нивоа одједном скупити или проширити.

Дакле, ако ваша табела садржи збирне редове или колоне са функцијом сумирања суседних ћелија, односно шанса (није 100% тачна) да Екцел створиће све потребне групе у табели једним покретом – кроз мени Подаци – Група и структура – ​​Креирајте структуру (Подаци — Група и контура — Креирајте структуру). Нажалост, таква функција ради веома непредвидиво и понекад чини потпуну глупост на сложеним табелама. Али можете покушати.

У програму Екцел 2007 и новијим, све ове радости су на картици Датум (Датум) у групи   структура (Оквир):

Метод 3. Сакривање означених редова/колона помоћу макроа

Овај метод је можда најсвестранији. Хајде да додамо празан ред и празну колону на почетак нашег листа и означимо било којом иконицом оне редове и колоне које желимо да сакријемо:

Сада отворимо Висуал Басиц Едитор (АЛТ + ФКСНУМКС), убаците нови празан модул у нашу књигу (мени Инсерт – Модул) и копирајте текст два једноставна макроа тамо:

Суб Хиде() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе 'Онемогући ажурирање екрана да би се убрзало за сваку ћелију у АцтивеСхеет.УседРанге.Ровс(1).Целлс 'Итерирај преко свих ћелија у првом реду Ако целл.Валуе = "к " Затим ћелија .ЕнтиреЦолумн.Хидден = Труе 'ако је у ћелији к - сакрити следећу колону за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(1).Ћелије 'пролазе кроз све ћелије прве колоне Ако је ћелија.Валуе = "к" Затим целл.ЕнтиреРов.Хидден = Тачно 'ако је у ћелији к - сакрити ред Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб Суб Схов() Цолумнс.Хидден = Фалсе 'откажи све сакривање редова и колона Ровс.Хидден = Фалсе Енд Суб  

Као што можете претпоставити, макро Сакрити скрива и макро шоу – Приказује уназад означене редове и колоне. По жељи, макроима се могу доделити пречице (Алт + ФКСНУМКС и дугме parametri) или креирајте дугмад директно на листу да бисте их покренули са картице Програмер – Уметање – Дугме (Програмер — Убаци — Дугме).

Метод 4. Сакривање редова/колона датом бојом

Рецимо да у горњем примеру, ми, напротив, желимо да сакријемо укупне вредности, односно љубичасте и црне редове и жуте и зелене колоне. Тада ће наш претходни макро морати мало да се измени додавањем, уместо провере присуства „к“, провере да ли се боја попуне подудара са насумично одабраним ћелијама узорка:

Суб ХидеБиЦолор() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе за сваку ћелију у АцтивеСхеет.УседРанге.Ровс(2).Целлс Иф целл.Интериор.Цолор = Ранге("Ф2").Интериор.Цолор Онда целл.ЕнтиреЦолумн.Хидден = Тачно ако целл.Интериор.Цолор = Ранге("К2").Интериор.Цолор Затим целл.ЕнтиреЦолумн.Хидден = Тачно следеће за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(2).Целлс Иф целл.Интериор.Цолор = Ранге ("Д6").Интериор.Цолор Затим целл.ЕнтиреРов.Хидден = Труе Ако целл.Интериор.Цолор = Ранге("Б11").Интериор.Цолор Затим целл.ЕнтиреРов.Хидден = Труе Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб  

Међутим, не смемо заборавити на једно упозорење: овај макро функционише само ако су ћелије изворне табеле попуњене бојом ручно, а не коришћењем условног форматирања (ово је ограничење својства Интериор.Цолор). Тако, на пример, ако сте аутоматски истакли све понуде у табели где је број мањи од 10 коришћењем условног форматирања:

Сакривање/приказивање непотребних редова и колона

… а желите да их сакријете једним покретом, тада ће претходни макро морати да буде „завршен“. Ако имате Екцел 2010-2013, онда можете да изађете користећи уместо имовине Унутрашњост имовина ДисплаиФормат.Интериор, који даје боју ћелије, без обзира на то како је постављена. Макро за сакривање плавих линија тада може изгледати овако:

Суб ХидеБиЦондитионалФорматтингЦолор() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(1).Целлс Иф целл.ДисплаиФормат.Интериор.Цолор = Ранге("Г2").ДисплаиФормат.Интериор.Цолор.ДисплаиФормат.Интериор.Цолор. .ЕнтиреРов.Хидден = Труе Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб  

Ћелија Г2 је узета као узорак за поређење боја. Нажалост имовина ДисплаиФормат појавио се у Екцел-у тек почевши од верзије 2010, тако да ако имате Екцел 2007 или старији, мораћете да смислите друге начине.

  • Шта је макро, где убацити код макроа, како их користити
  • Аутоматско груписање у вишеслојним листама

 

Ostavite komentar