Як легко впорядкувати рядки у відмінності за допомогою перетягування чи опускання, переміщення чи переміщення вниз?


143

Мені потрібно виконати вручну переупорядкування чи рядки в Excel, а вирізати / вставити занадто важко у використанні. Я шукаю те, що дозволить мені використовувати drag'n'drop або додати кілька кнопок для переміщення вгору / вниз переміщення вгору / вниз.

Відповіді:


212
  1. Виберіть рядок / стовпець.
  2. Перемістіть курсор миші до межі рядка / стовпця, щоб ви побачили курсор із чотирма стрілками (або ручний курсор на Mac).
  3. Натисніть Shiftна клавіатурі, потім клацніть та перетягніть рядок / стовпець.

ShiftКлюч зсувається на рядок / стовпець замість перезапису цільової рядки / стовпці.


18
На mac, для другого кроку потрібно перемістити курсор миші, щоб ви бачили значок руки, а не курсор з чотирма стрілками.
Скотт Річі

2
У мене є Excel 2013, і, здається, поведінка за замовчуванням зараз, коли ви переміщуєте рядок після того, як побачите курсор із чотирьох стрілок змінює поведінку. Натискання SHIFT фактично замінює рядок призначення
Korayem

У мене є Office365 (тому я вважаю, що у мене є найновіша версія Excel під час публікації - я не можу ніде знайти належну версію версії). Вибір будь-якої групи комірок (не лише рядків / стовпців), переміщення до кордону, щоб отримати 4-стрільну стрілку, та перетягування переміщення даних навколо - залишаючи порожнє отвір позаду. Якщо випаде, попереджається про перезапис. Shift + перетягування намагається змінити порядок рядків чи стовпців, але лише якщо вибрано повний рядок / стовпець. "Повна" = вся деяка прямокутна область - не обов'язково повна електронна таблиця. // Плутанина: повинна навести курсор на межу комірок даних, а не на номер рядка чи літеру стовпця - що змінює розмір.
Krazy Glew

1
Хтось знає ярлик, щоб отримати цю "4-стрільну стрілку" - комбінацію клавіш, або макрос / Visual Basic (або як називається нова мова макросу)? Мені дуже важко зробити це саме мишею, не кажучи вже про сенсорний екран або ручку. В ідеалі я хотів би мати "великий палець" для перетягування рядків і стовпців навколо.
Krazy Glew

1
Хтось знає, як це зробити в Google Таблицях?
Krazy Glew

13

Це все-таки метод вирізання / вставки, але це найпростіший спосіб, який я можу придумати.

Рішення в 4 кліки: (наприклад, перемістити рядок 8 над рядком 5)

  1. Клацніть правою клавішею номер рядка (наприклад, рядок 8), натисніть Вирізати (або T)
  2. Клацніть правою клавішею номер рядка (наприклад, рядок 5), клацніть Вставити вирізані клітинки (або E)

Примітка. Це також працює для переміщення декількох рядків.


Це рішення лише для миші без перетягування, щоб добре переміщувати рядки до подальшого положення, яке потребує прокрутки. Інакше відповідь @ kok є більш елегантною.
Вілсон

спасибі, також це все ще працювало для мене, кок краще, але по суті, трохи довше, щоб зрозуміти, і треба побачити граничну кнопку, хоча її не потрібно більш важко, треба звикнути до неї
FantomX1

3

Спробуйте:

Shift+ Space barабо клацніть мишкою на номері рядка, щоб вибрати рядок

Ctrl+ Xвирізати

Клацніть мишею, куди ви хочете.

Ctrl+ Vвставити його


2
неправильна відповідь. це замінить замість переупорядкування
wilson

3

Додайте такі макроси до вашої особистої макроробочої книги та призначте їм клавіші швидкого доступу. Поведінка імітує Swap Line Up вгору та Swap Line Down.

Sub move_rows_down()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(rOriginalSelection.rows.Count + 1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

Sub move_rows_up()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(-1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

2

Розглядаючи подібні випадки в минулому, коли я не міг просто сортувати за рядком, я знайшов спосіб генерувати стовпчик з результатом формули, який би міг сортувати.

Я знайшов більш пряму відповідь на ваше запитання з цього сайту :

Microsoft Word має функцію, якої не вистачає Excel. Метод Джона включає переміщення даних у Word, використання команди Word та вставку даних назад в Excel. Виконайте ці кроки.

  1. Скопіюйте відповідний шматок рядків та стовпців із таблиці. Найкраще відзначити розмір діапазону, наприклад, 118 рядків x 5 стовпців
  2. Вставте дані в документ Microsoft Word, де вони автоматично стають таблицею і зберігають усе ваше форматування.
  3. Словом, використовуйте маловідомі клавіші SHIFT-ALT-UP-ARROW та SHIFT-ALT-DOWN-ARROW для дуже швидкого пересування рядків (або вибраних фрагментів рядків) за бажанням. Виберіть один або кілька рядків. Ви можете вибрати весь рядок або лише частину рядка, як показано тут.

    введіть тут опис зображення

    Натисніть Shift + Alt + UpArrow кілька разів, щоб швидко просунути рядки вгору.

    введіть тут опис зображення

  4. Коли ви послідовно прокреслили рядки, вставте їх у Excel, переконайтесь, що ви перезаписали той самий розмір, який ви скопіювали.


Солодке! Я б хотів, щоб був спосіб зробити це в Excel або OneNote. // (Excel робить спеціальні перетягування миші, як зазначено вище, але мені не вистачає координації mouse.co для цього.) // Прикро, що хтось відмовляється від інших благ Excel, як сортування таблиці за значеннями стовпців, щоб отримати це слово доброта
Krazy Glew

2

У Mac використовуйте Command+ Shiftпід час перетягування. Я припускаю, що у Windows це має бути Win+ Shift.


1

Невелике покращення щодо відповіді @ wilson:

Клацніть правою клавішею номер рядка (наприклад, рядок 8), натисніть "t" Номер рядка правою кнопкою миші (наприклад, рядок 5), натисніть "e"

Змішування використання миші та клавіатури дійсно прискорює це для мене.


1

Ось підпункт, який також працює для стовпців; він поєднує функціональність у всіх чотирьох напрямках:

Sub MoveRowsOrColumns(direction As String)
    Dim rOriginalSelection As Range

    Select Case direction
    Case "up", "down"
        Set rOriginalSelection = Selection.EntireRow
    Case "left", "right"
        Set rOriginalSelection = Selection.EntireColumn
    Case Else
        Debug.Assert False
    End Select

    With rOriginalSelection
        .Select
        .Cut
        Select Case direction
        Case "up"
            .Offset(-1, 0).Select
        Case "down"
            .Offset(rOriginalSelection.Rows.Count + 1, 0).Select
        Case "left"
            .Offset(0, -1).Select
        Case "right"
            .Offset(0, rOriginalSelection.Columns.Count + 1).Select
        End Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

-1

Це найпростіший, який я знайшов. Неможливо перетягнути:

Наприклад, щоб перемістити рядок 3 перед рядком 2:

  • клацніть правою кнопкою миші на рядку 3 (на номері 3 зліва) та виберіть Вирізати
  • клацніть правою кнопкою миші на рядок 2 (на номер 2) та виберіть Вставити вирізані клітини
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.