Сочетание клавиш Excel для копирования / заполнения всех ячеек с непустыми соседними ячейками?


45

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

Ответы:


36

Я предоставляю вам два метода, чтобы выполнить то, что вы хотите. К сожалению, оба метода имеют свои собственные предостережения, поскольку в Excel не предусмотрена комбинация клавиш «все в одном» для автоматического заполнения. Я настоятельно рекомендую вам попробовать оба метода, а затем определить, какой из них лучше для вас. Помимо этих двух методов, я не верю, что вы можете выполнить то, что вы ищете, без использования макросов или дополнительных модулей. Если вы идете по макро-маршруту, AutoFillметод для любого Rangeобъекта должен быть всем, что вам нужно.


Метод 1 (альтернативный, но работает без взаимодействия с мышью)

Еще один способ сделать это - использовать комбинацию быстрого выбора и выбрать все в диапазоне. После ввода данных в ячейку нажмите, Ctrl+Shift+Endчтобы выбрать из текущей ячейки до конца диапазона, который будет заполнен автоматически. Затем нажмите, Ctrl+Dчтобы «заполнить» весь диапазон от верхней ячейки.

Метод 2 (мой предпочтительный способ, одноразовое взаимодействие с мышью)

Как только вы заполните ячейку, которую вы хотите заполнить автоматически, дважды щелкните по нижнему правому углу, как обычно. Чтобы повторить шаг «автозаполнение», пока вы только вводите данные и нажимаете ввод, вы можете повторить их, нажав Ctrl+Y.

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


Обратите внимание, что первый метод имеет небольшую оговорку - ваш вид / курсор переместится в нижнюю часть электронной таблицы (чего не происходит с Ctrl+Yметодом). Вы можете нажать Homeклавишу, чтобы быстро переместить курсор вверх.


Второй метод был идеальным для меня, помог мне очень быстро заполнить 123 798 строк. Благодарность!
Джошуа Уолш

9

Мне также интересно узнать более короткую комбинацию клавиш для автозаполнения. Но это также работает:

Последовательность клавиш для серии Fill

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

Нажмите ALT>> H>> F>> I>> S>> Alt+ F>> Enter.

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

Для создания / редактирования пользовательских списков, нажмите Alt+ F, перейдите к Популярные нажмите на редактирование пользовательских списков . Пользовательские списки служат основой для того, как Ручка автозаполнения заполняет ячейки.

Заполнить вниз

Ctrl+ D

Заметка

Эти комбинации клавиш работают только для английского языка Excel. Если вы используете Excel на любом другом языке, поиск соответствующей комбинации клавиш для языка: Домашняя лента> Fillредактирование раздела ленты)> серии ... . В диалоговом окне выберите Автозаполнение и нажмите Enter. Комбинация клавиш заполнения также может отличаться ( Ctrl+ D).


1
^ _ ^ Если вы добавите вверх-вверх-вниз-вниз-abab Чак, появится Норрис. Лично я почти всегда не очень часто использую дескриптор заполнения и полагаюсь на остальную часть таблицы данных или поле Имя. Например, если я хочу скопировать формулу из A1 в 200 ячеек под ней, я бы напечатал «A200» в поле имени, нажмите Enter, затем Ctrl + Shift + Up, затем Ctrl + D.
Ellesa

2
  1. Выберите диапазон, в котором вы хотите заполнить данные, включая первую строку / ячейку, где данные доступны, до последней строки / ячейки, где заканчиваются данные.
  2. Нажмите Ctrl+ G(перейти к)
  3. Перейдите в раздел «Специальные предложения» и выберите «Пробелы» из доступных вариантов. Нажмите ОК
  4. В ячейке, в которой вы находитесь (выбрав пустые ячейки в ярости), введите формулу, ссылающуюся на предыдущую ячейку "= + стрелка вверх" (скажем, если вы находитесь в ячейке A3, введите = A2) и нажмите Ctrl+ Enter.
  5. Преобразуйте приведенную выше формулу в значения, снова скопировав и вставив выделив весь диапазон.

Очень хорошее решение и самый эффективный из всех.
Форрест Р. Стивенс

2

До сих пор моим лучшим решением было:

  1. CTRL-C исходной ячейки

  2. CTRL-G (перейти к) введите последнюю ячейку в столбце

  3. SHIFT-ENTER (выделяет весь этот раздел)

  4. ENTER (вставляет значения во все ячейки)

Работает с Excel 2007/2013/365


0

Более короткое сочетание клавиш до 2010 года, чтобы вызвать диалоговое окно Series (Windows), упомянутое в ответе @ Ellesa:

ALT, E, I,S

Это только короче одним нажатием клавиши, но все же дополнительный ход, тем не менее.


0

Что бы это ни стоило на Mac, я использую Keyboard Maestro для выполнения ряда ключевых команд, поэтому мне не нужно использовать мышь.

Последовательность:

  1. Стрелка вниз (эти две команды позволяют копировать работать правильно)
  2. Стрелка вверх
  3. Ctrl + C
  4. Стрелка влево (сменить стрелку вправо на ссылку вправо)
  5. Command + Shift + стрелка вниз
  6. Option + Tab (измените на option + shift + tab, если на шаге 4 вы указали справа)
  7. Command + V

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

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


0

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

Хотя это может быть просто быстрее дважды щелкнуть. Зависит от предпочтения.

Например, я делаю VLOOKUP. и первое значение поиска находится в ячейке B2. 1. Я ввел формулу в A2. 2. Затем я скопировал ячейку A2 (Ctrl + c). 3. Затем, начиная с A3, я выделил диапазон, который я хотел заполнить формулой (Ctrl + Shift + Down) или (Shift + Down). 4. Затем вставил (ctrl. + V)

Когда я делал это, формула в ячейке A3 имела значение поиска на B3, A5 - на B5 и т. Д. Возможно, вы захотите сделать выборочную проверку, чтобы убедиться, что формулы корректируются в первый раз, когда вы это делаете.


0

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

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

Затем:

  1. Нажмите, Leftчтобы перейти к столбцу с другими данными
  2. Нажмите, Ctrl+Downчтобы перейти к концу данных
  3. Нажмите, Rightчтобы вернуться к столбцу, который будет заполнен
  4. Нажмите Ctrl+Shift+Upдля выбора до ячейки со значением заполнения
  5. Нажмите, Ctrl+Dчтобы заполнить (вниз)

Нажатые клавиши всегда одинаковы, поэтому вы можете поместить это в макрос клавиатуры.

Другая последовательность , которая делает то же самое: Left, End, Down, Right, End, Shift+Up, Ctrl+D.


0

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

Sub AutoFill_Column()

Selection.AutoFill Destination:=Range(Selection, Cells(ActiveCell.SpecialCells(xlLastCell).Row, Selection.Column))

End Sub

То же самое можно сделать для автозаполнения строки (на основе смежных данных над строкой) с помощью:

Sub Autofill_Row()

Selection.AutoFill Destination:=Range(Selection, Cells(Selection.Row, ActiveCell.Offset(-1, 0).End(xlToRight).Column))

End Sub
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.