Как сделать инверсию выделения в экселе

Добавил пользователь Дмитрий К.
Обновлено: 16.09.2024

Как часто при работе с большими таблицами данных вы теряли из виду нужный столбец или строку?
Или, например, вы находите нужную ячейку и пытаетесь определить в каком столбце или строчке она находится?

Поэтому при подобных проблемах с таблицами многие начинают использовать подручные средства: ведут пальцем по экрану или прикладывают лист бумаги к монитору и т.д.
На самом деле эту задачу можно решить куда проще и эффективнее программным путем.

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

Перейдем к реализации и разберем 2 разновидности перекрестного выделения: с помощью макроса и условного форматирования.

Способ 1. Макрос

Давайте подумаем каким образом макрос должен производить перекрестное отображение данных на листе.

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

Во-вторых, нам нужен сам макрос выделения строк и столбцов для ячейки. Соответственно, постоянно работает при включении опции отображения и не работает при отключенной опции.

Перейдем в редактор Visual Basic (быстрый переход с помощью комбинации клавиш Alt + F11).
Далее добавим в исходный код листа (в левой части панели выбираете нужный лист, правой кнопкой мышки щелкаете по нему и выбираете View Code) вставляем туда следующий код:

Возвращаемся в Excel. Для начала работы координатного пересечения необходимо включить опцию отображения, для этого открываем окно с макросами (сочетание клавиш Alt + F8) и запускаем макрос Coordinate_Selection_On (для отключения опции запускаем Coordinate_Selection_Off).

Все готово (не забудьте сначала запустить макрос Coordinate_Selection_On):


Из плюсов данного способа можно выделить простоту реализации, а к минусам — проблемы с отображением при наличии объединенных ячеек.

Теперь перейдем к альтернативной реализации.

Способ 2. Условное форматирование

Следующий способ базируется на 2 основных принципах: условном форматировании (которое будет подсвечивать все ячейки в строке и столбце) и свойствах функции ЯЧЕЙКА (которая позволит нам составить правило для форматирования).

Пойдем по порядку.
Выделим диапазон таблицы (в нашем примере это A1:Z35), для которого будем делать перекрестное выделение.
Далее в панели вкладок выбираем Главная -> Условное форматирование и нажимаем Создать правило:

Настройка формата отображения


В появившемся окне выбираем Использовать формулу для определения форматируемых ячеек и в описании правила вставляем следующую формулу:

Затем нажимаем кнопку Формат и настраиваем внешний вид выделяемых данных (цвет заливки, шрифта) по своему усмотрению.

Что нам дает функция ЯЧЕЙКА?

Мы уже сталкивались с ней, когда, например, получали имя листа в виде формулы.
Данная функция возвращает различные свойства ссылки в зависимости от параметров введенных аргументов. Поэтому формулы ЯЧЕЙКА("строка") и ЯЧЕЙКА("столбец") вернут нам, соответственно, номер строки и столбца текущей ячейки.
Следовательно, введенная формула выделит все ячейки таблицы, где строка (или столбец) совпадают со строкой (или столбцом) текущей ячейки, в результате после форматирования и получится перекрестное выделение.

Однако условное форматирование не будет работать, если на листе не произойдет никаких изменений (передвижение активной ячейки к таковым не относится), и раскраска ячеек останется прежней.
Чтобы этого избежать напишем несложный макрос, который бы пересчитывал содержимое текущей ячейки, и в результате запускал бы обновление раскраски.
Переходим в редактор VBA и в модуль листа, где содержится таблица, добавляем следующий код:

Всем привет. Сегодняшний пост хочу посвятить способам выделения ячеек в Майкрософт Эксель. Если вы уже знаете, как выделять ячейки – бегло просмотрите текст, возможно некоторые возможности программы вам не известны, и вы не пользуетесь их преимуществами.

И так, выделение групп ячеек нужно для того, чтобы выполнить с ними какое-то общее действие: внести значение или формулу, изменить формат, скрыть, удалить и т.д. Как же можно выделить ячейки в Эксель? Разбираемся!

Как выделить все ячейки листа Excel

Сразу отвечу на самый задаваемый вопрос по теме статьи. Как же выделить сразу все ячейки листа? Предлагаю Вам два способа, какой больше нравится, тот и используйте:


  • Кликнуть мышью в том месте листа, где сходятся номера строк и координаты столбцов (см. рисунок). Весь лист сразу же будет выделен
  • Нажать Ctrl+A . Правда, здесь нужно быть внимательными. Если активная ячейка находится в группе данных, то сначала будет выделена только эта группа. Чтобы выделить весь лист — нажмите Ctrl+A повторно!

Выделение прямоугольного диапазона ячеек

Предположим, вам нужно выделить прямоугольную группу ячеек, чтобы отформатировать их под свой тип данных. Я могу предложить 5 способов выделения, а вы выбирайте, какой будет уместен для вас в данный момент:

  1. Выделение мышью. Самый распространенный способ – зажмите левую кнопку мыши внутри одной из клеток (не на рамке) и растягивайте выделение в нужном направлении по строкам и столбцам
  2. Зажатием клавиши Shift . Поставьте курсор в одну из угловых ячеек будущего выделения. Зажмите Shift и выделяйте область клавишами стрелок. Когда закончите – отпустите Shift .
  3. Нажмите клавишу F8 . Команда аналогична предыдущей, но клавишу не нужно зажимать. Установите курсор в одну из угловых ячеек массива, нажмите F8 , чтобы включить режим выделения. Клавишами стрелок расширяйте выделение, либо кликните мышью в противоположном углу будущего выделения. Когда массив выделен – нажмите F8 еще раз, чтобы выйти из этого режима.

Еще один способ – установите курсор в верхней левой клетке диапазона, зажмите Shift и кликните мышью на правую нижнюю (см. рис.)

Выделить строки и столбцы полностью

Если нужно выделить весь столбец или строку – вот несколько вариантов выполнения:

  • Кликните мышью на номере строки или имени столбца. Если нужно выбрать несколько смежных строк – зажмите левую кнопку мыши на номере строки и тяните выделение на те строки, которые нужно выделить. Аналогично поступаем со столбцами
  • Поставьте курсор в любую ячейку строки, которую нужно выделить и нажмите комбинацию Shift+Пробел . Для выделения столбца пользуйтесь комбинацией Ctrl+Пробел
  • Чтобы выделить несмежные строки и столбцы – зажмитеCtrl и кликайте по именам столбцов и номерам строк. После завершения – отпустите Ctrl .

Выделение несмежных диапазонов

Если нужно выделить несколько не стоящих рядом ячеек, сделайте это одним из предложенных способов:

Выделение на нескольких листах одновременно

Если на рабочих листах одного документа находятся одинаковые таблицы с разными данными, мы можем выполнять операции на всех вкладках одновременно. Это экономит время и снижает вероятность ошибки. Например, нам нужно залить жёлтым цветом шапки каждой из таблиц на нескольких листах. Не нужно делать это на каждой вкладке отдельно – выделите все листы и сделайте всё за один раз.

Чтобы выделить одну и ту же область на нескольких листах, сначала выделите нужные листы. Активируйте первый лист из списка, зажмите Ctrl и кликайте по ярлыкам всех листов для выделения.

Изменение названия при выделении группы листов Эксель

Изменение названия при выделении группы листов

Далее, на активном листе выделяйте нужные диапазоны, вносите изменения, заполняйте общие данные и формулы. Всё, что вы сделаете, будет применено ко всем выделенным листам. После завершения групповой обработки не забудьте снять выделение листов. Для этого кликните на любой ярлык группированного листа правой кнопкой мыши, в контекстном меню выберите Разгруппировать .

Условное выделение ячеек

Microsoft Excel может выделить группу ячеек в зависимости от их содержимого. Не все пользователи знают об этой возможности, хотя её применение может быть очень полезным.

Выделение ячеек через окно поиска

Чтобы открыть окно поиска значения – выполните Главная – Редактирование – Найти и выделить – Найти (или нажмите комбинацию клавиш Ctrl+F ). Появится немодальное окно поиска.

Использование поиска для выделения ячеек в Эксель

Использование поиска для выделения ячеек

В поле Найти: внесите символы или числа, которые нужно найти и нажмите Найти все . В нижней части окна появится список ячеек, содержащих выделенные данные. Выберите одну или несколько ячеек (с зажатым Ctrl ) в списке, чтобы Эксель их выделил. Чтобы выделить все найденные ячейки – выделите одну из них и нажмите комбинацию Ctrl+A .

Для поиска можно использовать специальные символы:

Вот и всё о выделении ячеек в MS Excel, а следующий пост хочу посвятить копированию данных. Как всегда, эта статья будет содержать много полезностей, которые обязательно пригодятся в работе. Так что, прочтите, не пожалеете!

Кстати, жду Ваших вопросов касательно этой статьи в комментариях!

Добавить комментарий Отменить ответ

12 комментариев

Очень познавательно! Жать, что так и не нашел способа снятия выделения отдельных ячеек из выделенного диапазона.
Например, необходимо сделать форматирование столбца полностью кроме шапки таблицы, которая является массивом. Снять защиту редактирования такого столбца не получается… А массив удалять не хотелось бы.

Спасибо.Очень полезная информация. Подскажите пожалуйста, возможно есть такая функция, выделение ячеек (цветом), на которые ссылается другой файл.Допустим из оворотной ведомости данные переносили в бюджет и те ячейки, которые уже отразились окрашивались в другой цвет, или менялся шрифт (что угодно), но выделялось?
Благодарю за ответ!

Подскажите, как в Эксель одновременно и быстро выделить несколько фигур (квадратов/кубиков и тд)? Чтобы это можно было сделать как в ПоверПоинт. То есть, чтобы курсор превратился в стрелку и ею можно было обвести несколько фигур и сразу их выделить одним махом.
Большое спасибо!

Здравствуйте, Андрей. В Эксель такого инструмента нет. Но чтобы облегчить выделение, выделите любую из фигур и нажмите на ленте Формат — Упорядочение — Область выделения . Откроется меню работы с фигурами на листе. Фактически, это список всех фигур. Можете зажать Ctrl и выделить нужные названия в списке. Или же, кликайте по самим объектам, как удобноее будет Вам.

Главная/ найти/ стрелка. Можно на ней нажать ПКМ и добавить на панель бістрого доступа

Виталий, спасибо за уточнение. На блоге есть отдельная статья о добавлении команд на панель быстрого доступа.

Доброго дня. Потрібно виділити всі ячейки в листі, проте такий масив інформації об’ємний. Чи є якась функція, або макрос, який виділяє всі клітинки в одному листі (які зафарбовані різними кольорами) і зафарбовує їх всі в один колір?

Здравствуйте, Абдукаим. Не совсем понял Ваш вопрос. Если нужно выделить текст внутри ячейки — дважды кликните по ней и выделяйте мышью, как обычный текст.





Если значение в ячейке удовлетворяет определенному пользователем условию, то с помощью Условного форматирования можно выделить эту ячейку (например, изменить ее фон). В этой статье пойдем дальше — будем выделять всю строку таблицы, содержащую эту ячейку.

Пусть в диапазоне А6:С16 имеется таблица с перечнем работ, сроками выполнения и статусом их завершения (см. файл примера ).

Выделение по условию целиком строки или столбца.

Выделение строки.


Мы должны закрасить вторую строку таблицы в зависимости от значения в С2. Здесь есть маленькая хитрость.

Напомню, что знак $, стоящий перед буквой столбца, означает абсолютную ссылку на этот столбец. А если знак $ находится перед цифрой, то абсолютная ссылка установлена на строку.

Вывод. Условное форматирование строки по значению ячейки основано на грамотном применении абсолютных и относительных ссылок в правиле форматирования. В используемой формуле должна быть абсолютная ссылка на столбец и относительная — на строку ($C2). При этом как область форматирования должна быть обозначена вся таблица (без шапки).

Выделение столбца.

Аналогичную операцию можно произвести и с выделением отдельных столбцов. Естественно, при этом формула будет выглядеть несколько иначе: знак доллара будет находиться перед цифрой. Но, конечно, выделение горизонтальных линий в таблице встречается намного чаще.

Тем не менее, давайте рассмотрим пример с выделением по условию столбцов таблицы.

Итак, у нас есть табель рабочих смен. Нужно красным указать в нем на субботы и воскресенья.


Как и в предыдущем примере, определим для начала диапазон, который мы будем форматировать: =$B$3:$S$7. И вновь будем использовать формулу (2) для определения условия.

Функция ДЕНЬНЕД позволяет определить номер дня недели по указанной дате. Цифра 2 означает, что используется привычный нам порядок, когда первый день недели – это понедельник.

Таким образом, если номер окажется больше 5 (то есть, это будет суббота или воскресенье), то необходимо применить указанный нами формат (3) и закрасить выходной день.

Все просто, но обратите внимание на одну важную деталь: знаком $ в ссылке мы фиксируем номер. Тем самым мы указываем программе, что надо последовательно перемещаться по второй строке в пределах указанного диапазона, и определять номер дня недели. И после этого применять формат к столбцу.

Задача1 — текстовые значения

Необходимо выделить цветом строку, содержащую работу определенного статуса. Например, если работа не начата, то строку будем выделять красным, если работа еще не завершена, то серым, а если завершена, то зеленым. Выделять строки будем с помощью правил Условного форматирования .


Выделение через строку.

Итак, возьмем для примера небольшую таблицу.

Выделим диапазон A1:D18.

Затем создаем новое правило при помощи формулы

В чем ее смысл? Если номер, полученный при помощи функции СТРОКА(), делится без остатка на 2, то значит у нее чётный номер, и к ней следует применить правило форматирования. Если же номер не делится на 2 без остатка, то это нечетная. Ее мы оставляем без изменений.


Рекомендации

При вводе статуса работ важно не допустить опечатку. Если вместо слово Завершена, например, пользователь введет Завершено, то Условное форматирование не сработает.

Чтобы исключить некорректный ввод используйте идеи из статьи Ввод данных из списка значений. Часть1. Выпадающий список. В файле примера для ввода статусов работ использован аналогичный Выпадающий список.


Чтобы быстро расширить правила Условного форматирования на новую строку в таблице, выделите ячейки новой строки (А17:С17) и нажмите сочетание клавиш CTRL+D. Правила Условного форматирования будут скопированы в строку 17 таблицы.

Закрасить группу строк.

Зачем это нужно? К примеру, у нас имеются помесячные данные о продажах. Тогда логично было бы отделить каждые 3 месяца, чтобы хорошо видны были результаты по кварталам.


Поясним эти вычисления.В качестве счетчика мы будем использовать номер текущей строки.Поскольку в квартале 3 месяца, то группировать будем тоже по три. Отсчет начинаем с А2.

  1. Счетчик в начале нужно установить в ноль. Для этого служит выражение (СТРОКА()-2). Поскольку начинаем со второй, то обнуляем счетчик, вычитая 2.
  2. Далее нужно определить, к какой по счету группе относится текущее местоположение курсора. Результат п.1 делим на 3.
  3. Отсекаем дробную часть при помощи функции ЦЕЛОЕ и получаем порядковый номер группы: ЦЕЛОЕ((СТРОКА()-2)/3).
  4. Добавляем 1, поскольку результатом для первой группы будет число меньше 1. А нужно, чтобы отсчет групп начинался с 1.
  5. Затем действуем по методике, отработанной в предыдущем примере: производим действия только с нечетными группами. Для этого используем функцию ОСТАТ с аргументом 2. То есть, находим остаток от деления на 2. Если число четное, то остаток будет равен нулю. Ноль равносилен результату ЛОЖЬ, поэтому с такими группами ничего не делаем. Если число нечетное, остаток от деления на 2 будет равен 1, что равноценно ИСТИНА. И вот тут-то мы и закрасим эту группу.

В результате мы разбили нашу таблицу на тройки, определили каждой тройке свой порядковый номер, и с нечетными номерами произвели действия по изменению формата их представления.

Аналогично можно разбить на группы по 4 строки. Тогда в формуле выше просто замените цифру 3 на 4. И все будет работать.

А если в шапке вашей таблицы больше, чем одна строка, просто замените -2 на большую цифру, соответственно высоте шапки таблицы.

Как видите, подход достаточно универсальный. Надеюсь, вам пригодится.

Автоматическое заполнение ячеек датами

Сначала подготовим структуру для заполнения регистра. В первую очередь условно рассмотрим готовый пример автоматизированного регистра, который изображен ниже на рисунке:

Представленное данное решение должно автоматизировать некоторые рабочие процессы и упростить визуальный анализ данных.

Автоматическое заполнение ячеек актуальными датами

В первую очередь для регистра с номерами клиентов создадим заголовки столбцов с зеленым цветом и актуальными месяцами, которые будут автоматически отображать периоды времени. Для этого в ячейку B1 введите следующую формулу:

Как работает формула для автоматической генерации уходящих месяцев?

На рисунке формула возвращает период уходящего времени начиная даты написания статьи: 17.09.2017. В первом аргументе в функции DATA – вложена формула, которая всегда возвращает текущий год на сегодняшнюю дату благодаря функциям: ГОД и СЕГОНЯ. Во втором аргументе указан номер месяца (-1). Отрицательное число значит, что нас интересует какой был месяц в прошлом времени. Пример условий для второго аргумента со значением:

  • 1 – значит первый месяц (январь) в году указанном в первом аргументе;
  • 0 – это 1 месяца назад;
  • -1 – это 2 мес. назад от начала текущего года (то есть: 01.10.2016).

Последний аргумент – это номер дня месяца указано во втором аргументе. В результате функция ДАТА собирает все параметры в одно значение и формула возвращает соответственную дату.

Далее перейдите в ячейку C1 и введите следующую формулу:

Как видно теперь функция ДАТА использует значение из ячейки B1 и увеличивает номер месяца на 1 по отношению к предыдущей ячейки. В результате получаем 1 – число следующего месяца.

Теперь скопируйте эту формулу из ячейки C1 в остальные заголовки столбцов диапазона D1:L1.

Обратите внимание! При наступлении января месяца (D1), формула автоматически меняет в дате год на следующий.

Вставляем отделяющие линии между группами строк.

Если у вас есть большой отсортированный по какому-либо столбцу список, то было бы неплохо автоматически отделять получившиеся группы разделительными горизонтальными линиями для наглядности.

Давайте красиво оформим смету работ, упорядоченных по дням. Отделим горизонтальными линиями каждый новый день, чтобы визуально отделить их друг от друга.


Для этого сначала выделим весь наш диапазон с данными.

Внимание! Первую шапку таблицы не выделяем, начинаем с данных!

В нашем случае, выделяем A3:G33.

Затем далее действуем по уже отработанной схеме. В меню условного форматирования выбираем использование формулы (1). Далее записываем само правило:

Иначе говоря, мы проверяем, равна ли наша текущая дата предыдущей. Если не равна, значит, мы перешли к новому дню. Соответственно наше текущее положение нужно выделить. Выбираем формат (3). Тип границы – линия (4). Она будет использоваться по верхней границе (5).

В результате каждый новый день будет отделен от предыдущего горизонтальной линией. Естественно, вы можете выбрать и иной стиль форматирования – например, цветом.

Условное форматирование для сравнения двух столбцов.

Когда необходимо произвести сравнение двух столбцов в таблице, очень хороший способ указать на имеющиеся совпадения и различия – выделить их.

Как найти и закрасить совпадающие ячейки в столбцах.


На рисунке вы видите, что дубликаты выделены зеленым. Думаю, здесь все довольно просто.

Выделение совпадений двух столбцов построчно.

Если у нас есть несколько копий одной и той же таблицы, может возникнуть необходимость найти и показать их различия и совпадения. В этом случае попробуем сравнить столбцы таблиц построчно.

Чтобы сравнить данные в каждой строке двух столбцов таблицы, воспользуемся формулами условия.

Выберите, в каких ячейках вы будете отмечать совпадения – в первой или во второй таблице. Я выделил B3:B25. То есть, в первой таблице мы закрасим ячейки, которые дублируются во второй таблице.


Обратите внимание, что в формуле используется абсолютная адресация на колонку. Это необходимо для того, чтобы происходило последовательный перебор значений, двигаясь вниз начиная с B3 до B25.

Как найти и закрасить совпадения в нескольких столбцах.

Представим, что наша задача – найти и выделить в столбце таблицы те значения, которые совпадают хотя бы с одним столбцом второй таблицы. В нашем случае – мы последовательно будем брать данные из столбца B и определять, нет ли такого же значения в этой же строке в нескольких колонках второй таблицы.

Давайте закрасим цветом те ячейки в столбце B, которые хотя бы однажды встречаются в G,H и I.

Запишем правило условного форматирования:

Последовательно двигаемся сверху вниз и сравниваем каждую ячейку колонки B с находящимися в той же горизонтали значениями в G,H и I.

То есть, необходимо, чтобы выполнялось хотя бы одно из условий, достаточно одного совпадения.

Но если столбцов будет не 3, а, предположим, 10? Формула станет слишком громоздкой. Ведь придется указать 10 критериев совпадения.


Есть более простой способ. Изменим правило форматирования и используем функцию СЧЁТЕСЛИ:

СЧЁТЕСЛИ определяет, как часто определенное значение встречается в диапазоне. Считаем, сколько раз значение из B3 встречается в G,H и I таблицы, то есть в $G3:$I3. Если будет более одного совпадения, то срабатывает правило.Функция возвращает 1. А 1 в логическом выражении соответствует ИСТИНА, 0 — ЛОЖЬ. То есть, если счет равен нулю, то в текущей позиции нашего столбца содержится уникальное значение, которое больше нигде в диапазоне поиска не встречается. Согласитесь, так гораздо удобнее, чем писать множество однотипных критериев.

И теперь при помощи такого подхода мы можем решить более сложную задачу: выделить в B те данные, которые хотя бы раз встречаются в одном из нескольких столбцов.


Вот это новое правило:

Теперь совпадения мы ищем во всех столбцах таблицы 2, а не только в одном из них. Возможно, такой пример вам также будет полезен.

Обратите еще раз внимание на то, как определены абсолютные ссылки. Суть в том, что должен меняться номер строки, но не номер столбца. Тогда все будет работать.

Как это сделать в Excel 2003

Комментарии:

наконец-то узнала, как это можно сделать!

Виктор — 14.04.2016 17:23

salam — 19.05.2016 16:24

Подскажите как подсвечивать ячеку В2 при условии если ячейка А2 не пустая?

Федя — 16.11.2016 14:39

Как задать цвет определенному значению в одной ячейки, например — вожу 5 — она будет красным цветом, вожу 4 — она станет зелёным цветом

Оля — 03.05.2017 12:12

подскажите, как заливать в гамме одного цвета с разными оттенками в столбике, если напр., если 100% — зеленый, 95- зеленый но светлее, 75 — еще светлее и т.д. заранее спасибо

Условное форматирование в Excel — это полезная функция, позволяющая выделять определенным цветом элементы в таблице, по заранее заданному правилу. Например, если данные ниже 1000, то выделять зеленым.

Как закрасить в определенный цвет ячейку в Excel по формуле

Ниже лежит пример файла, который используется в примере. В нем приведены данные по рекламной кампании, где будут выделены данные по успешным и неудачным кампаниями.

Пример файла где нужно закрасить ячейки по формуле в Эксель

Создание правила условного форматирования для закрашивания ячеек по формуле в Excel

Переход в формат для закрашивания ячеек в определенный цвет по правилу в Excel

Выбор типа закрашивания в условном форматировании в Excel

Закрашивание в зеленый цвет по правилу в Эксель

Закрашенный по правилу элемент в Excel

Переход в управление правилами условного форматирования в Excel

Переход в управление области применений правил закрашивания ячеек в Excel

Выбираем нужный диапазон.

В измененном правиле применяем сохранение (нажимаем на Ок).

Создание правила для условного форматирования в Эксель

Читайте также: