Как выделить ячейки в Excel по условию? Выделение группы ячеек

Содержание скрыть 1 Первые N символов — формула в Excel 2 Разбить столбец по количеству символов 3 Извлечь первые символы автозаполнением 4 Извлечь первые символы с помощью регулярных выражений 5 Оставить первые / последние N символов в строке в 1 клик

Простейшая задача — взять и отделить от ячейки первый символ, скопировав его в соседний столбец. Или выбрать и оставить в ней первые 2, 3, 4… N символов.

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

Или задача является частью другой, где нужно сделать первую букву заглавной, а для этого, ее нужно вытащить из ячейки.

Рассмотрим все известные решения, снабдив их примерами. Итак, поехали.

Первые N символов — формула в Excel

Вытащить первый символ или N символов ячейки формулой проще простого. И есть даже 2 варианта:

А так будут выглядеть формулы, извлекающие первые N символов из ячейки A1. Подставьте свое число вместо N, чтобы формулы работали:

=ЛЕВСИМВ(A1;N) =ПСТР(A1;1;N)

Заметное отличие первой функции от второй — в отсутствии параметра, отвечающего за позицию, с которой начинается извлечение. Поэтому, если вычислить позицию первого вхождения определенного символа в ячейке, с помощью этой функции можно извлечь его, даже если он не является первым символом строки.

Например:

  • извлечь текст после цифр
  • извлечь первые N цифр
  • сделать первую букву ячейки заглавной

Разбить столбец по количеству символов

Можно получить первые N символов столбца, разбив его по количеству символов. Первые N останутся, а остальные будут перенесены в соседний справа. Можно разбить и на несколько — Excel не ставит ограничений на количество столбцов.

Разбиваем столбец на два, оставляя в нем первые 6 символов и переносим оставшиеся в соседний

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

  • разбивка по столбцам не сохраняет исходный столбец
  • это единоразовая процедура, в отличие от формул, которые пересчитываются при обновлении данных
  • удобный момент — одна процедура создает сразу несколько столбцов
  • направление разбивки — только вправо
  • если справа есть данные, они могут быть перезаписаны, если не отменить операцию и не создать пустой столбец/столбцы.

Извлечь первые символы автозаполнением

Автозаполнение — замечательная процедура в Excel. Алгоритм действий прост.

  1. Заполняем пару ячеек соседнего столбца вручную;
  2. Уже при вводе третьей может быть предложено автозаполнение;
  3. Если согласны — жмем клавишу Ввод (Enter).

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

Автозаполнение предлагает извлечь все цифры вначале строки, а не первые две, но алгоритм можно «доучить».

Извлечь первые символы с помощью регулярных выражений

Чтобы выбрать из строки символы по регулярным выражениям, в Google Spreadsheets доступна функция REGEXEXTRACT. Там она существует уже очень давно.

А вот Microsoft не столь серьезно озадачились вопросом — официально регулярные выражения в Excel существуют только как подключаемый модуль VBA. Поэтому доступны очень узкому кругу посвященных специалистов с навыками программирования на нем.

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

Подробно тут — регулярные выражения в Excel и примеры регулярных выражений. А ниже на картинке — примеры формул, которые позволят извлечь первые N символов, в том числе букв или цифр по отдельности, из любой ячейки.

image
Извлекаем первые символы с дополнительными условиями с помощью регулярных выражений

Функции доступны абсолютно бесплатно и работают при подключенной надстройке !SEMTools для Excel даже в стартовой версии.

Оставить первые / последние N символов в строке в 1 клик

Ну и напоследок — на панели !SEMTools доступны процедуры, позволяющие максимально легко и быстро выбрать первые или последние символы из ячеек.

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

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

Смотрите демонстрацию ниже:

Берем и вытаскиваем из произвольных ячеек первые / последние символы в 1 клик

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

Жмите кнопку ниже, чтобы скачать и подключить надстройку к вашему Excel! Процедура займет всего пару минут.

image

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

Без знаков $ при копировании ссылка на A1 будет изменяться. Так, при копировании формулы «= A1/30» из ячейки E5 в E6 результатом станет «=A2/30». А если скопировать формулу из E5 в D5, данные для расчетов будут браться уже не из A1, а из B1. Зафиксировав ячейку в формуле Excel, пользователь делает адрес $A$1 постоянным при копировании по вертикали или горизонтали.

Фиксация по столбцу и строке

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

Так, выражение «=$A1/E4» при копировании из E5 в D5 превратится в «$A1/D4», что позволит посчитать разные значения только с одним неизменным коэффициентом (курсом валют, процентом ставки). Но если пользователь копирует формулу вдоль столбца, то оставаться без изменений будет только первая часть ссылки: «А» — «A1», «A2», «A3» и т. д.

  • Советы

    Как объединить ячейки в Excel?

Еще один способ, как зафиксировать ячейку в Excel, предполагает фиксацию только по строке. В этом случае знак $ в ссылке ставится перед вторым идентификатором — например, A$1. В этом случае пользователь может протянуть формулу, копируя ее по прямоугольной области — но изменяться будет только столбец. Так можно сделать, установив в одной из строк проценты, которые будут разные для каждой категории. При копировании такая процентная ставка изменяется по столбцам.

Несколько особенностей закрепления

Закрепляя адрес ячейки в Эксель, пользователь экономит время на прописывание отдельных одинаковых формул. При этом снижается вероятность ошибки, даже если таких скопированных выражений в таблице будет всего 5-10. Когда количество формул увеличивается до нескольких десятков, без использования знака $ в адресе просто не обойтись.

Чтобы упростить прописывание доллара в ссылке и не переключаться каждый раз на другую раскладку клавиатуры (которых может быть и 2, и 3, и 4), можно выделить ту часть адреса, перед которой он ставится, и нажать F4. Если выделен весь адрес, при первом нажатии на функциональную клавишу $ ставится перед строкой и столбцом. При втором — закрепляется только столбец. При следующем — только строка. Четвертое нажатие возвращает нормальное написание адреса.

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

Поделиться ссылкой

Вы писали формулы в Excel. Как сделать, чтобы, перемещая ее, ссылка на ячейку оставалась постоянной. Используйте специальную функцию табличного редактора. Рассмотрим, как зафиксировать ячейку в формуле в Excel

Содержание

При протягивании ссылка не изменится. Зафиксируется столбец В и вторая строка.

Второй способ

Кликните два раза F4. Поменяется буква столбца.

Третий способ

Кликните F4 три раза. Изменится только номер строки.

Отменяем фиксацию

Нажимайте F4 пока «$» не исчезнет. Чтобы в новом Экселе (Excel) закрепить ячейку выполните аналогичные действия.

Пример

Рассчитать стоимость товара в долларах. Выделите В6, нажмите F4. Протяните формулу. Ссылка не изменится. Знак доллара можно поставить вручную.

Вывод

Мы рассмотрели, как закрепить ячейки. Для этого нажмите клавишу F4. Используйте этот способ. Сделайте работу с формулами удобнее.

Как получить ссылку на текущую ячейку?

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

=CELL("width", A2) 

однако, я хочу, чтобы формула была примерно такой:

=CELL("width", THIS_CELL) 

454   11  

11 ответов:

  1. в текущем листе выберите ячейку A1 (это важно!)
  2. открыть Name Manager (Ctl+F3)
  3. клик New...
  4. введите » THIS_CELL «(или просто «это», что является моим предпочтением) в Name:
  5. введите следующую формулу в Refers to:

    =!A1

    Примечание: убедитесь, что ячейка A1 выбрана. Эта формула является относительно активной ячейки.

  6. под Scope: выберите Workbook.

  7. клик OK закрыть Name Manager
=CELL("width",THIS_CELL) 

EDIT: лучшее решение, чем использование INDIRECT()

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

  1. он энергонезависим, в то время как INDIRECT() является изменчивой функцией Excel, и в результате резко замедлит расчет книги, когда он используется много.
  2. это гораздо проще, и не требует преобразования адреса (в виде ROW()COLUMN()) к ссылке диапазона на адрес и обратно к ссылке диапазона снова.

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

EDIT: см. Также <!-Ответ -69—>@и imix это ниже для вариации этой идеи (с использованием ссылок на стиль RC). В этом случае вы можете использовать =!RC на THIS_CELL именованная формула диапазона, или просто использовать RC напрямую.

вы могли бы использовать

=CELL("width", INDIRECT(ADDRESS(ROW(), COLUMN()))) 

несколько лет слишком поздно:

просто для полноты картины хочу дать еще один ответ:

во-первых, перейти к Excel-Options ->Формулы и включения ссылки R1C1. Тогда используйте

  =CELL("width", RC) 

RC всегда ссылается на текущую строку, текущий столбец, т. е.»эта ячейка».

решение Рика Тичи это в основном настройка, чтобы сделать то же самое возможно в A1 эталонный стиль (см. также GSerg это!—18—> к ответу и записке Джоуи комментарии на ответ Патрика Макдональда).

=ADDRESS(ROW(),COLUMN(),4) даст нам относительный адрес текущей ячейки. =INDIRECT(ADDRESS(ROW(),COLUMN()-1,4)) даст нам содержимое ячейки слева от текущей ячейки =INDIRECT(ADDRESS(ROW()-1,COLUMN(),4)) даст нам содержимое ячейки над текущей ячейкой (отлично подходит для расчета текущих итогов)

используя CELL () функция возвращает информацию о последней измененной ячейке. Итак, если мы введем новую строку или столбец CELL () ссылка будет затронута и не будет никакой текущей ячейки длиннее.

A2 уже является относительной ссылкой и изменится при перемещении ячейки или копировании формулы.

без косвенных(): =CELL("width", OFFSET($A,ROW()-1,COLUMN()-1) )

=ADDRESS(ROW(),COLUMN()) =ADDRESS(ROW(),COLUMN(),1) =ADDRESS(ROW(),COLUMN(),2) =ADDRESS(ROW(),COLUMN(),3) =ADDRESS(ROW(),COLUMN(),4) 

внутри таблицы вы можете использовать [@], который (к сожалению) Excel автоматически расширяет до Table1[@] но это действительно работает. (Я использую Excel 2010)

например, при наличии двух столбцов [Change] и [Balance], поставив в

Я нашел лучший способ справиться с этим (для меня) использовать следующее:

Dim MyString as String MyString = Application.ThisCell.Address Range(MyString).Select 

надеюсь, что это помогает.

есть лучший способ, который является более безопасным и не замедлит ваше приложение. Как Excel настроен, ячейка может иметь либо значение, либо формулу; формула не может ссылаться на свою собственную ячейку. Вы в конечном итоге с бесконечным циклом, так как новое значение приведет к другому вычислению… . Используйте вспомогательный столбец для вычисления значения на основе того, что вы помещаете в другую ячейку. Например:

столбец A является истинным или ложным, столбец B содержит денежное значение, столбец C содержит следующее формула: =B1

теперь, чтобы вычислить, что столбец B будет выделен желтым цветом в условном формате, только если столбец A истинен, а столбец B больше нуля…

=и(A1=True, C1>0)

затем вы можете скрыть столбец C

EDIT: следующее неверно, потому что ячейка («ширина») возвращает ширину последние изменения клеток.

Cell("width") возвращает ширину текущей ячейки, так что вам не нужна ссылка на текущую ячейку. Если вам это нужно, хотя,cell("address") возвращает адрес текущей ячейки, так что если вам нужна ссылка на текущую ячейку, используйте indirect(cell("address")). Смотрите документацию:http://www.techonthenet.com/excel/formulas/cell.php

В этом уроке я покажу, как объединить ячейки в Экселе. Первые два способа подойдут в случае, если нужно склеить пустые или почти пустые ячейки (частично заполненные). Другие же соединят не только сами ячейки, но и их содержимое.

Самый простой способ

1. Выделяем то, что нужно объединить.

2. Нажимаем на кнопку image во вкладке «Главная» в верхней панели.

image

По умолчанию эта кнопка соединяет всё выделенное и помещает содержимое в центре. Но есть и другие варианты – для их просмотра нажмите на маленькую стрелку справа от кнопки.

image

Еще один простой способ

1. Выделяем нужные ячейки и щелкаем по одной из них правой кнопкой мышки. Появляется контекстное меню, в котором выбираем пункт «Формат ячеек».

image

2. В окошке переходим на вкладку «Выравнивание» и ставим галочку напротив пункта «Объединение ячеек», после чего нажимаем OK.

image

Объединение ячеек с данными

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

image

Чтобы этого не произошло, склеивать их нужно по-другому. Есть несколько способов: через сцепление данных, при помощи программы Блокнот и через макрос.

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

Способ первый (через сцепление)

Шаг 1: склеиваем данные

Сначала нужно склеить данные, то есть соединить их друг с другом. Делается это в новой ячейке через функцию «Сцепить» или через знак &. Покажу на примере оба варианта, а вы уж выбирайте, какой больше нравится.

Склеивание через функцию «СЦЕПИТЬ». Допустим, у нас есть отдельно имя, фамилия и отчество. Все эти данные нужно объединить, а для этого сначала склеить их.

1. Щелкаем по пустой ячейке.

2. Печатаем знак = и большими буквами слово СЦЕПИТЬ

image

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

image

4. Нажимаем клавишу Enter на клавиатуре.

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

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

Склеивание через знак &. Находится этот символ там же, где цифра 7 на клавиатуре. Набирать его нужно на английской раскладке при зажатой клавише Shift.

Принцип почти такой же, как и при склеивании через функцию СЦЕПИТЬ:

1. Щелкаем в пустой ячейке и печатаем в ней знак =

2. Нажимаем на первую ячейку с данными, печатаем символ & и нажимаем на вторую ячейку, затем опять вводим & и нажимаем на третью и так далее.

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

Шаг 2: убираем дубли

Не важно, каким способом, но данные мы склеили.

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

  • Щелкаем по ячейке с результатом
  • Наводим на маленький черный квадратик внизу справа
  • Когда курсор примет вид тонкого черного плюса, нажимаем левую кнопку мышки и, не отпуская ее, растягиваем по другим ячейкам

У меня получилось вот что:

Подробнее о «растягивании» можно узнать из вот этого урока.

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

Иногда это подходит, но что делать, если нужны только склеенные данные? Выход есть!

1. Выделяем новые (склеенные) ячейки.

2. Щелкаем по любой из них правой кнопкой мышки и из меню выбираем «Копировать».

3. Выделяем какие-нибудь другие пустые ячейки.

4. Нажимаем по любой из них правой кнопкой мышки и выбираем «Специальная вставка».

5. В окошке выбираем пункт «Значения» (вверху) и нажимаем ОК.

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

Собственно, теперь все предыдущие данные можно удалить, а эти (новые) скопировать и вставить на их место.

Способ второй (через Блокнот)

Честно говоря, мне этот способ даже больше нравится – он быстрее.

1. Выделяем в Экселе ячейки с нужными данными (можно выделить целые столбы/строки).

2. Копируем их (правая кнопка мыши – Копировать).

3. Открываем программу Блокнот: Пуск – Все программы – Стандартные — Блокнот. Или открываем Пуск и печатаем слово блокнот в поле для поиска (внизу).

4. Вставляем в окно программы скопированные данные (правой кнопкой мышки по пустому месту – Вставить).

5. Копируем символ табуляции.

Для этого в пустой строчке Блокнота (перейти на нее можно, нажав на Enter) нажимаем один раз клавишу Tab на клавиатуре.

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

6. Вверху программы Блокнот нажимаем на пункт «Правка» и выбираем «Заменить…».

7. В первое поле («Что:») вставляем скопированный символ табуляции, а во второе поле («Чем:») вставляем необходимый нам разделитель, например, жмем клавишу пробел.

8. Нажимаем на кнопку «Заменить все» и закрываем это маленькое окошко.

После этого данные в Блокноте немного изменятся – текст как будто бы чуть-чуть сожмется.

9. Выделяем все это в Блокноте и копируем.

10. Переходим в программу Excel и вставляем скопированные данные (удалив предыдущие).

Способ третий (макрос)

Еще один вариант объединения ячеек в Экселе без потери данных. Он чуть более сложный — для тех, кто знает, что такое Visual Basic.

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

1. Открываем вкладку «Вид» и нажимаем на кнопку «Макросы».

2. Печатаем название для макроса, нажимаем «Создать».

3. Откроется редактор Visual Basic. Вставляем туда следующий код:

4. Закрываем редактор Visual Basic.

Теперь, чтобы объединить ячейки с данными, нужно их выделить, после чего на вкладке «Вид» нажать кнопку «Макросы» и в новом окошке на «Выполнить».

Правда, такой файл нужно будет сохранить в специальном формате с поддержкой макросов: Файл – Сохранить как – в поле «Тип файла» выбрать «Книга Excel с поддержкой макросов».

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий