Как переместить строки в Excel? Выборочное перемещение строк по условию. Перемещение строк в Microsoft Excel

  • 15.05.2019

В этой статье Вы найдёте несколько способов перемещать столбцы в Excel. Вы увидите, как перетаскивать столбцы мышью и другие способы перемещения столбцов на листах Excel.

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

Как ни странно, но Microsoft Excel не предоставляет прямого способа выполнения этой обыденной операции. Если Вы попытаетесь просто перетащить столбец за его заголовок (что кажется наиболее очевидным способом перемещения столбца), то будете очень расстроены, т.к. это не сработает, даже в Excel 2013.

Так или иначе, здесь Вы найдёте три действующих способа перемещать столбцы в Excel, а именно:

Как в Excel перетаскивать столбцы мышью

Как я упомянул в начале статьи, перетаскивание столбцов в Excel – это несколько более сложная процедура, чем хотелось бы. На самом деле, это один из тех случаев, когда проще сказать, чем осуществить. Возможно, это лишь недостаток ловкости моих рук Тем не менее, немного попрактиковавшись, я освоил этот навык, а значит совершенно точно справитесь и Вы.

Предположим, есть таблица с информацией о товарах Вашей компании, и Вы хотите быстренько поменять местами пару столбцов в этой таблице. Я возьму для примера прайс сервиса AbleBits. Необходимо поменять местами столбцы License type и Product ID , чтобы идентификатор Product ID следовал сразу после наименования продукта (Product name).


Таким же способом Вы можете перетаскивать в Excel несколько смежных столбцов. Чтобы выделить несколько столбцов, кликните по заголовку первого столбца, затем, нажав и удерживая клавишу Shift , кликните по заголовку последнего столбца. Далее проделайте шаги 2 – 4, описанные выше, чтобы переместить выбранные столбцы, как показано на рисунке ниже.

Замечание: Невозможно перетаскивать несмежные столбцы и строки на листах Excel, даже в Excel 2013.

Метод перетаскивания работает в Microsoft Excel 2013, 2010 и 2007. Точно так же Вы можете перетаскивать строки. Возможно, придётся немного попрактиковаться, но, освоив этот навык однажды, Вы сэкономите уйму времени в дальнейшем. Думаю, команда разработчиков Microsoft Excel вряд ли получит приз в номинации “самый дружественный интерфейс” за реализацию этого метода

Перемещаем столбцы методом Вырезать > Вставить

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

Как переместить один столбец в таблице Excel


Если Вы любите работать в Excel с клавиатурными комбинациями, тогда Вам больше понравится следующий способ:

  • Выделите любую ячейку в нужном столбце и нажмите Ctrl+Space (Пробел), чтобы выделить весь столбец.
  • Нажмите Ctrl+X , чтобы вырезать столбец.
  • Выберите столбец, перед которым необходимо вставить вырезанный.
  • Нажмите Ctrl и знак “+ ” на цифровой клавиатуре, чтобы вставить столбец.

Как переместить несколько столбцов в Excel

Метод Вырезать > Вставить , который отлично работает для одного столбца (либо смежных столбцов), не позволяет перемещать несколько несмежных столбцов одновременно. Если Вы попытаетесь сделать это, то получите сообщение об ошибке, предлагающее выбрать один смежный диапазон: The command you chose cannot be performed with multiple selections (Данная команда неприменима для несвязных диапазонов).

Если требуется поменять местами несколько столбцов на листе, то у Вас есть минимум 3 варианта на выбор:

Перемещаем несколько столбцов при помощи команд Копировать, Вставить и Удалить

Если метод перетаскивания столбцов мышью по каким-то причинам Вам не подходит, то Вы можете попробовать изменить порядок столбцов в Excel таким способом:


Замечание: Если Вы передвигаете столбцы в обычном диапазоне, то подойдут оба способа. Если же нужно переместить столбцы в полноценной таблице Excel , тогда воспользуйтесь вторым способом (только ячейки с данными), иначе можно получить сообщение об ошибке: The operation is not allowed. The operation is attempting to shift cells in a table of your worksheet (Невозможно выполнить операцию. Предпринимается попытка изменить часть строки или столбца таблицы запрещённым способом).


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

Изменяем очерёдность столбцов в Excel при помощи макроса VBA

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

Данные, расположенные в ячейке или в диапазоне ячеек, можно перемещать с одного места рабочего листа в другое, используя как прямое перетаскивание мышью, так и кнопки на вкладках ленты, контекстное меню, а также процедуры (макросы) - программы, написанные на языке Visual Basic for Application, сокращенно VBA.

Простейший способ переместить ячейки с места на место - использовать манипулятор мыши. Для перемещения ячейки на новое место, необходимо выделить нужную ячейку или диапазон, навести курсор мыши на границу выделенного диапазона, чтобы курсор стал наклонной стрелкой с крестиком, как показано на рисунке и при нажатой левой кнопке мыши, перетащить выделенную область на новое место и после этого отпустить кнопку мыши. Если при наведении курсора мыши на границу выделенного диапазона он не превращается в наклонную стрелку с крестиком и делает невозможным перетаскивание ячеек, значит, отключена специальная настройка и ее необходимо включить, щелкнув в верхнем левом углу программы по кнопке «Office» и перейдя в Параметры Excel/Дополнительно. В группе «Параметры правки» необходимо установить флажок возле пункта «Разрешить маркеры заполнения и перетаскивание ячеек».

Вырезать и вставить

Для переноса ячеек наряду с их перемещением мышью используется вырезание с последующей вставкой. Для того чтобы вырезать/вставить ячейку или диапазон ячеек, необходимо последовательно выбрать команду «Вырезать», переместить курсор на новое место и выбрать команду «Вставить». Для этого можно использовать контекстное меню (меню, которое появляется при нажатии правой кнопки мыши в области выделенного участка), группу «Буфер обмена» на вкладке «Главная» или горячие клавиши (сочетание клавиш на клавиатуре, за которыми закреплена та или иная команда).

Сочетание клавиш для вырезания - Ctrl+X или Shift+Delete. Сочетание клавиш для вставки - Ctrl+V или Shift+Insert.

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

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

Все эти и аналогичные задачи легко решаются при помощи надстройки для Excel.

Надстройка для быстрого перемещения ячеек

Для быстрого переноса ячеек с одного места в другое создана надстройка для Excel, а кнопка, запускающая эту надстройку выводится на отдельную вкладку ленты Excel либо на отдельную панель инструментов (в зависимости от версии Excel). Нажатие кнопки вызывает диалоговое окно, в котором пользователь может выбрать нужные ему условия, значения, диапазоны, направление перемещения и так далее.Перемещение производится автоматически при помощи макроса . В вышеприведенном примере были применены следующие условия: найти все ячейки с числовыми значениями, содержащими «3100» и переместить их на 1 столбец влево и на 1 строку вверх.

видео по работе с надстройкой

1. одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов excel;

2. задавать искомое значение для ячеек;

3. задавать диапазон для поиска;

4. выбирать одно из двенадцати условий для значений ячеек;

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

а) перемещать ячейки на заданное количество строк вверх или вниз;

б) перемещать ячейки на заданное количество столбцов влево или вправо;

в) перемещать ячейки одновременно вверх/вниз и влево/вправо;

г) перемещать ячейки в заданный столбец;

д) перемещать ячейки в заданную строку.

Данные, расположенные в ячейке или в диапазоне ячеек, можно перемещать с одного места рабочего листа в другое, используя как прямое перетаскивание мышью, так и кнопки на вкладках ленты, контекстное меню, а также процедуры (макросы) – программы, написанные на языке Visual Basic for Application, сокращенно VBA.

Перемещение с помощью мыши

Простейший способ переместить ячейки с места на место – использовать манипулятор мыши. Для перемещения ячейки на новое место, необходимо выделить нужную ячейку или диапазон, навести курсор мыши на границу выделенного диапазона, чтобы курсор стал наклонной стрелкой с крестиком, как показано на рисунке и при нажатой левой кнопке мыши, перетащить выделенную область на новое место и после этого отпустить кнопку мыши. Если при наведении курсора мыши на границу выделенного диапазона он не превращается в наклонную стрелку с крестиком и делает невозможным перетаскивание ячеек, значит, отключена специальная настройка и ее необходимо включить, щелкнув в верхнем левом углу программы по кнопке «Office» и перейдя в Параметры Excel/Дополнительно. В группе «Параметры правки» необходимо установить флажок возле пункта «Разрешить маркеры заполнения и перетаскивание ячеек».

Вырезать и вставить

Для переноса ячеек наряду с их перемещением мышью используется вырезание с последующей вставкой. Для того чтобы вырезать/вставить ячейку или диапазон ячеек, необходимо последовательно выбрать команду «Вырезать», переместить курсор на новое место и выбрать команду «Вставить». Для этого можно использовать контекстное меню (меню, которое появляется при нажатии правой кнопки мыши в области выделенного участка), группу «Буфер обмена» на вкладке «Главная» или горячие клавиши (сочетание клавиш на клавиатуре, за которыми закреплена та или иная команда).

Сочетание клавиш для вырезания – Ctrl+X или Shift+Delete. Сочетание клавиш для вставки – Ctrl+V или Shift+Insert.

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

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

Все эти и аналогичные задачи легко решаются при помощи надстройки для Excel.

Надстройка для быстрого перемещения ячеек

Для быстрого переноса ячеек с одного места в другое создана надстройка для Excel, а кнопка, запускающая эту надстройку выводится на отдельную вкладку ленты Excel либо на отдельную панель инструментов (в зависимости от версии Excel). Нажатие кнопки вызывает диалоговое окно, в котором пользователь может выбрать нужные ему условия, значения, диапазоны, направление перемещения и так далее.
Перемещение производится автоматически при помощи макроса . В вышеприведенном примере были применены следующие условия: найти все ячейки с числовыми значениями, содержащими "3100" и переместить их на 1 столбец влево и на 1 строку вверх.

Приходится часто перемещать отдельные позиции. Например, из-за того, что цифра оказалась не там, где нужно. Или понадобилось расставить ряды по алфавиту. Или необходимо, вообще, перевернуть таблицу на 90 градусов. Разберитесь, как поменять местами столбцы в Excel и строки, как перетащить клетку со всем содержимым, как транспонировать сетку или отдельную её часть.

Для перемещения рядов можно использовать опцию Копировать-Вырезать-Вставить. Но так происходит замена всего содержимого в области, куда вставляются объекты. Это не очень удобно, если требуется расположить категории в другом порядке, а не копировать их. Вот как поменять местами строки в Excel:

  1. Выделите ряд. Для этого кликните на его номер (или на букву, если это столбцы).
  2. Наведите на границу любой отмеченной ячейки. Курсор примет вид крестика со стрелочками на концах.
  3. Зажмите клавишу Shift.
  4. Перемещайте ряд, «зацепив» его за рамку.
  5. Двигать объект вы будете не вслепую. В той области, куда вы наведёте курсор, нижняя граница строки станет толще. Ряд вставится выше этой линии (или левее, если это столбцы).
  6. Чтобы заменить содержимое конечных клеток, сделайте то же самое, но без кнопки Shift.
  7. Если надо поменять категории местами, просто перетащите их, куда нужно. Например, ряд 23 передвиньте на позицию 25, а 25 - на 23.
  8. Можно скопировать данные с заменой конечного содержимого. Для этого вместо Shift зажмите Ctrl.

Используйте опцию Копировать-Вырезать-Вставить

Как переместить ячейку или несколько ячеек?

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

  1. Выделите нужный объект.
  2. Наведите курсор на его границу.
  3. Зажмите клавишу Shift.
  4. Переместите клетку, «зацепив» её за рамку.
  5. Нижняя граница ячейки, в которую вставится содержимое, будет выделяться.

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

  1. Выделите свободную от значений область, в которую надо вставить перевёрнутую сетку. Она должна соответствовать исходной. К примеру, если в изначальном варианте она имела размеры 3 на 7 клеток, то отмеченные для вставки позиции должны быть 7 на 3.
  2. В поле формул (она находится вверху, рядом с ней есть символы «Fx») введите «=ТРАНСП(N:H)» без кавычек. N - это адрес первой клетки из таблицы, H - имя последней. Эти названия имеют вид A1, S7 и так далее. Это одновременно и координаты ячейки. Чтобы их посмотреть, кликните на нужную позицию. Они отобразятся в поле слева вверху.
  3. После того как вписали функцию, одновременно нажмите Shift+Ctrl+Enter. Так она вставится сразу во все выделенные категории.

Поменять ориентацию таблицы можно и специальной формулой

Нужный фрагмент появится уже в перевёрнутом виде.

Перевернуть столбец

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

  1. Вокруг исходной колонкой должно быть свободное место. Не нужно стирать все строки. На время редактирования можете скопировать позиции в другой файл.
  2. Выделите пустую клетку слева или справа от заполненного ряда.
  3. Откройте меню Формулы - Ссылки и массивы.
  4. Найдите функцию «СМЕЩ».
  5. В появившемся окне будет несколько полей. В области «Ссылка» укажите адрес нижней клетки из колонки. Перед каждой координатой ставьте знак $ (доллар). Должно получиться что-то вроде «$A$17».
  6. В «Смещ_по_строкам» введите команду «(СТРОКА()-СТРОКА($A$1))*-1» (кавычки убрать). Вместо $А$1 напишите имя первой клетки в колонке.
  7. В «Смещ_по_столбцам» напишите 0 (ноль). Остальные параметры оставьте пустыми.
  8. Растяните значения с формулой так, чтобы по высоте они совпадали с исходным рядом. Для этого «потяните» за маленький чёрный квадратик под курсором-клеткой Excel. Категории будут инвертированы относительно исходника.
  9. Выделите и скопируйте получившиеся позиции.
  10. Щёлкните правой кнопкой мыши в любом месте сетки.
  11. В параметрах вставки выберите «Значения». Так перенесутся только символы без формул.

Решение одним словом: транспонирование (transpose ). Дальше ищущий может гуглить и найти данную статью.

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

Выделяем один столбец или строку, копируем. В новом месте или листе, где будет располагаться транспонированная таблица, кликаем правой кнопкой «Специальная вставка».

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

Из спорных преимуществ: сохранится все оформление ячеек, что требуется не всегда. Но главный недостаток способа – довольно трудоемкий процесс. Если строк и столбцов больше 100? Сто раз переносить данные построчно?

  1. Используем формулу

Гораздо более изящное решение.

Функция АДРЕС(номер_строки; номер_столбца) отдает ссылку (адрес) ячейки по 2 числам, где первое — номер строки, второе — номер столбца. Т.е. запись =АДРЕС(1;1) вернет нам ссылку на ячейку А1.

С помощью функций СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) меняем порядок выдачи у функции АДРЕС — не (строка, столбец), а (столбец, строка).

В текущем виде формула =АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)) вернет текст $A$1, надо преобразовать результат в ссылку, обернув все выражение в функцию ДВССЫЛ(ссылка_в_виде_текста).

ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))

В английском Excel:

INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

Применив формулу для ячейки А9 (в примере на картинке), растягиваем ее на остальные. Результат:

И сразу можно увидеть 2 небольших минуса этого способа:

  • Пустые ячейки заполняются нулями, правим вручную;
  • Формат ячеек – числовой, так Даты тоже нужно будет преобразовывать вручную.

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

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

Самое рациональное решение – сводная таблица. Нам понадобиться поправить исходные данные, у каждого столбца должен быть заголовок!

Выделяем таблицу, выбираем в меню Вставка – Сводная таблица. Указываем, куда вставить новую таблицу (можно на новый лист или куда-нибудь на текущий), график – да/нет. Ок. В настройках меняем местами блоки названия строк и названия столбцов. Результат: