Много строк в excel быстрее

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

8 простых способов ускорить работу в Excel

1. Как быстро подогнать размер столбцов под ширину содержимого

В каждую ячейку Excel вмещается 32 767 знаков. Поэтому функция быстрого изменения ширины столбца по его содержимому не всегда удобна. :) Хотя в большинстве случаев она выручает. Наведите курсор мыши на правую границу заголовка столбца и дважды кликните по ней, чтобы программа подобрала оптимальную ширину столбца. Этот трюк работает и для нескольких столбцов, а также для всего листа.

2. Как быстро выделить всю строку или столбец

При работе с большими объёмами данных невозможно обойтись без клавиатурных сокращений, с помощью которых легко перемещаться по листу и выделять отдельные столбцы или строки. Комбинации Ctrl + Spacebar и Shift + Spacebar как раз и отвечают за быстрое выделение текущего столбца или строки.

3. Как быстро выделить диапазон данных

Однажды я наблюдал, как четырёхлетний ребёнок использовал горячие клавиши копирования и вставки для ввода ключа к игре. Похоже, неразлучная троица Ctrl + C, Ctrl + V и Ctrl + A впитывается молодым поколением вместе с молоком матери. К слову, команда «Выделить всё» в Excel имеет небольшую особенность: одиночное нажатие Ctrl + A выделяет текущий диапазон, а двойное — таблицу целиком.

4. Как внести изменения на нескольких листах одновременно

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

5. Как перенести строку в текущей ячейке

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

6. Как вставить сразу несколько столбцов или строк

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

7. Как быстро вставить текущую дату

Судя по всему, горячие клавиши Ctrl + ; и Ctrl + Shift + ; нужно крутить по радио вместо утреннего гимна. Эти комбинации стоит повторять до той поры, пока на планете не останется того трудяги, который вбивает дату и время вручную.

8. Как быстро добавить комментарий

Программисты нередко добавляют комментарии к своему коду, чтобы в случае необходимости они сами их коллеги смогли разобраться в ахинее тонкостях написанного. Пользователям Excel такая привычка тоже не помешает. Благо под это дело выделены свои горячие клавиши: Shift + F2. Комбинация Ctrl + Shift + O выделяет все ячейки листа, к которым прикреплено примечание. Пригодится, если вы захотите избавиться от всех комментариев одним махом.

If your work requires you to practically live in Excel sheets, you may be looking for ways to make repetitive tasks simpler. For instance, whenever you work with data that needs to be updated regularly, you’ll frequently need to add multiple rows. 

In this guide, we’ll tell you how to insert multiple rows in Excel in a few quick and easy steps. Choose one that works best for you.

How to Insert Multiple Rows by Dragging Border Selection

This is the quickest way to insert multiple blank rows into your Excel sheet. It’s easy and doesn’t require using any keyboard shortcuts either. 

  1. Select the row below or above which you want to enter blank rows. 
  2. Hover your pointer over the border selection. 
  3. Press Shift and you’ll see the pointer change into a point with an upward and downward arrow. Drag the selection down for the number of rows you want to add.

How to Insert Multiple Rows Using Excel Keyboard Shortcuts

If you don’t like the idea of multiple right-clicks while you work on your Excel sheet, there are two keyboard shortcuts you can use.

First, select the number of rows equal to the number of blank rows you want to enter. Use Shift + Space to select all columns for the selected rows or select rows using row numbers on the left. 

Then use either of the two shortcuts:

  1. Alt + I and Alt + R: Press Alt + I, keep holding the Alt key, and press R.
  2. Ctrl + Plus: You need to use the plus sign on the numeric pad. If you want to use the plus sign on the main keypad, use Ctrl + Shift + Plus.

The shortcut method is scalable too. Pressing F4 on an Excel sheet repeats the previous action. You could use one of the above shortcuts to add, for instance, 10 rows and subsequently press F4 10 times to add 100 blank rows.

How to Insert Multiple Copied Rows Using Keyboard Shortcuts

If you want to copy or cut multiple rows instead of adding blank rows, use the Alt + I + E shortcut.

  1. Start by copying or cutting the rows.
  2. Select the row above which you want to paste the rows by pressing the row number at the left.
  3. Press Alt + I + E and choose Shift cells down.

You could also use the following shortcuts instead of Alt + I + E (the process is the same regardless of which shortcut you use):

  • Ctrl + Shift + =
  • Control + Plus (plus sign must be from the numeric keypad)

How to Insert Multiple Rows Using the Insert Option

To use this method, all you need to do is select the number of rows you want to add, right-click on the selection, and select Insert.

If you have a lot of columns in your data, press Shift + Space to select all columns for the selected rows, or select the rows using the row numbers at the left of the worksheet.

When you select Insert, Excel will insert rows above the first row that you selected.

If you want to enter a relatively larger number of blank rows, you could select a range and then use the Insert option. For instance, say you want to enter 500 rows.

  1. Select a range in the format ‘starting row : final row’. Assuming you want to enter 500 rows after row 5, select the range 5:504 by entering this range in the cell name box.
  1. Right-click and select Insert.

How to Insert Multiple Rows Using an Excel Macro

If you’re working with a large dataset on a worksheet that you expect to use regularly, you could automate row insertion using Macros. You don’t need to be an expert, though knowing the basics of VBA can give you a lot of power while you use Excel.

Before you start the process, check if the Excel ribbon at the top has a tab called Developer. If it doesn’t, go to Files > Options > Customize Ribbon and check the radio button beside Developer.

  1. Navigate to the Developer tab and select Visual Basic.
  1. Look for the Insert menu once the Visual Basic Editor opens and select Module.
  1. Enter the following code in the editor:

Sub InsertRowsAtCursor()
Answer = InputBox(“How many Rows to insert? (100 Rows maximum)”)
NumLines = Int(Val(Answer))

    If NumLines > 100 Then
NumLines = 100
End If

    If NumLines = 0 Then
GoTo EndInsertLines
End If

    Do
Selection.EntireRow.Insert
Count = Count + 1
Loop While Count < NumLines

EndInsertLines:
End Sub

  1. Exit the code editor.
  2. From the top ribbon, select Developer > Macros or simply press Alt + F8. Select the macro you just created and select Options. Set a shortcut key for the macro, but ensure it’s not an existing key combination that you use frequently, such as Ctrl + C. In this case, we’ve used Ctrl + Shift + T.  When you’re done, select OK to save changes and exit.
  1. Return to the worksheet and select a cell below which you want to enter the rows.
  2. Use the shortcut you set for the macro (in this case, Ctrl + Shift + T). You’ll see a pop-up on the worksheet asking you to enter the number of rows you’d like to add. For instance, let’s say you want to enter five rows. Enter 5 and press Enter.
  1. This will add 5 rows below the cell you had selected.

Every time you want to insert multiple rows in Excel, just use the shortcut, enter the number of rows, and you’re done.

Inserting Multiple Rows in Excel

If you frequently use Excel, it’s worth learning about how you can save time on repetitive, mechanical tasks such as inserting rows. Since there are several ways to insert multiple rows in Excel, it’s just a matter of what method you feel comfortable with. If you’ve added a lot of blank lines within the data set, there are several ways to delete blank rows, too.

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

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

Как вставить несколько строк, перетащив выделенную границу

Это самый быстрый способ вставить несколько пустых строк в лист Excel. Это просто и не требует использования каких-либо сочетаний клавиш.

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

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

Сначала выберите количество строк, равное количеству пустых строк, которые вы хотите ввести. Используйте Shift + Пробел, чтобы выбрать все столбцы для выбранных строк, или выберите строки, используя номера строк слева.

Затем используйте любой из двух ярлыков:

  1. Alt + I и Alt + R: нажмите Alt + I, удерживая клавишу Alt, нажмите R.
  2. Ctrl + Plus: вам нужно использовать знак плюса на цифровой клавиатуре. Если вы хотите использовать знак плюса на основной клавиатуре, используйте Ctrl + Shift + Plus.

Метод быстрого доступа тоже масштабируемый. Нажатие F4 на листе Excel повторяет предыдущее действие. Вы можете использовать один из приведенных выше ярлыков, чтобы добавить, например, 10 строк, а затем нажать F4 10 раз, чтобы добавить 100 пустых строк.

Как вставить несколько скопированных строк с помощью сочетаний клавиш

Если вы хотите скопировать или вырезать несколько строк вместо добавления пустых строк, используйте сочетание клавиш Alt + I + E.

  1. Начните с копирования или вырезания строк.
  2. Выберите строку выше строки, которые вы хотите вставить, нажав номер строки слева.
  3. Нажмите Alt + I + E и выберите Сдвиг ячеек вниз.

Вы также можете использовать следующие сочетания клавиш вместо Alt + I + E (процесс одинаков, независимо от того, какой ярлык вы используете):

  • Ctrl + Shift + =
  • Control + Plus (знак плюса должен быть на цифровой клавиатуре)

Как вставить несколько строк с помощью параметра вставки

Чтобы использовать этот метод, все, что вам нужно сделать, это выбрать количество строк, которые вы хотите добавить, щелкнуть правой кнопкой мыши по выделенному фрагменту и выбрать «Вставить».

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

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

Если вы хотите ввести относительно большее количество пустых строк, вы можете выбрать диапазон, а затем использовать параметр «Вставить». Например, вы хотите ввести 500 строк.

  1. Выберите диапазон в формате «начальная строка: последняя строка». Предполагая, что вы хотите ввести 500 строк после строки 5, выберите диапазон 5: 504, указав этот диапазон в поле имени ячейки.

  1. Щелкните правой кнопкой мыши и выберите Вставить.

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

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

Перед тем, как начать процесс, проверьте, есть ли на ленте Excel вверху вкладка с названием «Разработчик». Если это не так, перейдите в «Файлы»> «Параметры»> «Настроить ленту» и установите переключатель рядом с «Разработчик».

  1. Перейдите на вкладку Разработчик и выберите Visual Basic.

  1. Найдите меню «Вставка», когда откроется редактор Visual Basic, и выберите «Модуль».

  1. Введите в редакторе следующий код:

Подложка InsertRowsAtCursor ()
Answer = InputBox («Сколько строк нужно вставить? (Максимум 100 строк)»)
NumLines = Int (Val (ответ))

Если NumLines> 100, то
NumLines = 100
Конец, если

Если NumLines = 0, то
Перейти к концу
Конец, если

Делать
Selection.EntireRow.Insert
Счетчик = Счетчик + 1
Цикл пока счетчик

EndInsertLines:
Конец подписки

  1. Закройте редактор кода.
  2. На верхней ленте выберите «Разработчик»> «Макросы» или просто нажмите Alt + F8. Выберите только что созданный макрос и выберите Параметры. Установите сочетание клавиш для макроса, но убедитесь, что это не существующая комбинация клавиш, которую вы часто используете, например Ctrl + C. В этом случае мы использовали Ctrl + Shift + T. Когда вы закончите, нажмите OK, чтобы сохранить изменения и выйти.

  1. Вернитесь на рабочий лист и выберите ячейку, ниже которой вы хотите ввести строки.
  2. Используйте ярлык, который вы установили для макроса (в данном случае Ctrl + Shift + T). Вы увидите всплывающее окно на листе с просьбой ввести количество строк, которые вы хотите добавить. Например, предположим, вы хотите ввести пять строк. Введите 5 и нажмите Enter.

  1. Это добавит 5 строк ниже ячейку, которую вы выбрали.

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

Вставка нескольких строк в Excel

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

На чтение 5 мин Опубликовано 12.01.2021

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

Содержание

  1. Как добавлять по одной строчке в Excel
  2. Как добавить в таблицу Excel несколько строк одновременно
  3. Как удалить вставленные пустые строчки в Excel
  4. Способ 1. Деинсталляция добавленных элементов через контекстное меню
  5. Способ 2. Отмена предыдущего действия
  6. Как в Excel добавить сразу несколько столбцов
  7. Заключение

Как добавлять по одной строчке в Excel

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

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

kak-v-excel-dobavit-neskolko-strok-srazu

Выделение ячейки для последующего добавления строчки
  1. По выделенной области кликнуть ПКМ.
  2. В окне контекстного типа щелкнуть по варианту «Вставить…».

kak-v-excel-dobavit-neskolko-strok-srazu

Контекстное меню выделенного элемента. Находим кнопку «Вставить…» и щёлкаем по ней левой клавишей мышки
  1. Откроется небольшое по размерам меню «Добавление ячеек», в котором надо указать необходимый вариант. В данной ситуации пользователь должен поставить тумблер в поле «Строку», после чего нажать «ОК».

kak-v-excel-dobavit-neskolko-strok-srazu

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

kak-v-excel-dobavit-neskolko-strok-srazu

Одна строка, которая добавилась в табличный массив после выполнения всех манипуляций

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

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

В Microsoft Office Excel встроена специальная опция, с помощью которой можно справиться с поставленной задачей в кратчайшие сроки. Рекомендуется действовать по инструкции, которая практически не отличается от предыдущего пункта:

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

kak-v-excel-dobavit-neskolko-strok-srazu

Выделение нужного количества строчек в исходной таблице данных
  1. По аналогичной схеме нажать по выделенной области правой клавишей манипулятора и в окне контекстного типа щелкнуть по варианту «Вставить…».
  2. В следующем меню указать вариант «Строку» и кликнуть «ОК» для подтверждения действия.
  3. Убедиться, что нужное количество строк добавилось в табличный массив. При этом выделенные ранее ячейки не удалятся, они окажутся под добавленными пустыми строчками.

kak-v-excel-dobavit-neskolko-strok-srazu

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

Как удалить вставленные пустые строчки в Excel

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

Важно! Удалять можно любой элемент в таблице MS Excel. К примеру, столбец, строчку или отдельную ячейку.

Способ 1. Деинсталляция добавленных элементов через контекстное меню

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

  1. Выделить диапазон добавленных строк левой клавишей мышки.
  2. По любому месту выделенной области кликнуть ПКМ.
  3. В окне контекстного типа щелкнуть по слову «Удалить…».

kak-v-excel-dobavit-neskolko-strok-srazu

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

Способ 2. Отмена предыдущего действия

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

  1. Снять выделение со всех элементов рабочего листа, кликнув ЛКМ по любой свободной области.
  2. В левом верхнем углу экрана рядом с кнопкой «Файл» найти значок в виде стрелочки налево и нажать по нему ЛКМ. После этого последнее выполненное действие удалится, если это было добавление строк, то они пропадут.

kak-v-excel-dobavit-neskolko-strok-srazu

Расположение кнопки «Отменить» в Microsoft Office Excel
  1. Щелкнуть по кнопке отмены еще раз при необходимости, чтобы удалить несколько предыдущих действий.

Дополнительная информация! Отменить прошлый шаг в MS Excel можно с помощью комбинации горячих клавиш «Ctrl+Z», нажав их одновременно с клавиатуры компьютера. Однако перед этим надо переключиться на английскую раскладку.

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

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

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

kak-v-excel-dobavit-neskolko-strok-srazu

Выделение нужного количества столбцов в табличке для последующего добавления пустых столбиков
  1. По любому месту выделенной области кликнуть ПКМ.
  2. В отобразившемся контекстном меню щелкнуть ЛКМ по строке «Вставить…».
  3. В открывшемся окне добавления ячеек указать тумблером вариант «Столбец», и нажать «ОК».

kak-v-excel-dobavit-neskolko-strok-srazu

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

kak-v-excel-dobavit-neskolko-strok-srazu

Финальный результат добавления четырёх пустых столбцов в таблицу Excel

Обратите внимание! В контекстном окошке нужно нажимать именно по кнопке «Вставить…». Там есть также обычная строчка «Вставить», которая добавляет в выделенную ячейку скопированные ранее символы из буфера обмена.

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

Самый быстрый ВПР

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

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

Когда я писал свою первую книжку пять лет назад, то уже делал сравнительный скоростной тест различных способов поиска и подстановки данных функциями ВПР, ИНДЕКС+ПОИСКПОЗ, СУММЕСЛИ и др. С тех пор сменилось три версии Office, появились надстройки Power Query и Power Pivot, кардинально изменившие весь процесс работы с данными. А в прошлом году ещё и обновился вычислительный движок Excel, получив поддержку динамических массивов и новые функции ПРОСМОТРХ, ФИЛЬТР и т.п.

Так что пришла пора снова взяться за секундомер и выяснить — кто же самый быстрый. Ну и, заодно, проверить — какие способы поиска и подстановки данных в Excel вы знаете :)

Подопытный кролик

Тест будем проводить на следующем примере:

Исходный пример

Это книга Excel с одним листом, где расположены две таблицы: отгрузки (500 000 строк) и прайс-лист (600 строк). Наша задача — подставить цены из прайс-листа в таблицу отгрузок. Для каждого способа будем вводить формулу в ячейку С2 и копировать вниз на весь столбец, замеряя время, которое потребуется Excel, чтобы просчитать весь столбец из полумиллиона ячеек. Полученные значения, безусловно, зависят от множества факторов (поколение процессора, объем оперативной памяти, текущая загрузка системы, версия Office и т.д.), но нам важны не конкретные цифры, а, скорее, их сравнение друг с другом. Важно понимать прожорливость каждого способа и их ограничения.

Способ 1. ВПР

Сначала — классика :) Легендарная функция вертикального просмотра — ВПР (VLOOKUP), которая приходит в голову первой в подобных ситуациях:

ВПР

Здесь участвуют следующие аргументы:

  • B2 — искомое значение, т.е. название товара, который мы хотим найти в прайс-листе
  • $G$2:$H$600 — закреплённая знаками доллара (чтобы не сползала при копировании формулы вниз) абсолютная ссылка на прайс
  • 2 — номер столбца в прайс-листе, откуда мы хотим взять цену
  • 0 или ЛОЖЬ — переключение в режим поиска точного соответствия, когда любое некорректное название товара (например, ФОНЕРА) в столбце B в таблице отгрузок приведёт к появлению ошибки #Н/Д как результата работы функции.

Время вычисления = 4,3 сек.

Способ 2. ВПР с выделением столбцов целиком

Многие пользователи, применяя ВПР, во втором аргументе этой функции, где нужно задать поисковую таблицу (прайс), выделяют не ограниченный диапазон ($G$2:$H$600), а сразу столбцы G:H целиком. Это проще, быстрее, позволяет не думать про F4 и то, что завтра прайс-лист может быть на несколько строк больше. Формула в этом случае выглядит тоже компактнее:

ВПР с выделением столбцов целиком

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

Время вычисления = 14,5 сек.

Однако.

Способ 3. ИНДЕКС и ПОИСКПОЗ

Следующей после ВПР ступенью эволюции для многих пользователей Microsoft Excel обычно является переход на использование связки функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH). Выглядит эта формула так:

ИНДЕКС и ПОИСКПОЗ

Здесь:

Функция ИНДЕКС извлекает из заданного в первом аргументе диапазона (столбца $H$2:$H$600 с ценами в прайс-листе) содержимое ячейки с заданным номером. А номер этот, в свою очередь, определяется функцией ПОИСКПОЗ, у которой три аргумента:

  • Что нужно найти — название товара из B2
  • Где мы это ищем — столбец с названиями товаров в прайсе ($G$2:$G$600)
  • Режим поиска: 0 — точный, 1 или -1 — приблизительный с округлением в меньшую или большую сторону, соответственно.

Формула выходит чуть сложнее, но, при этом имеет несколько ощутимых преимуществ перед классической ВПР, а именно:

  • Не нужно отсчитывать номер столбца (как в третьем аргументе ВПР).
  • Можно извлекать данные, которые находятся левее столбца, где просходит поиск.

По скорости, однако же, этот способ проигрывает ВПР почти в два раза:

Время вычисления = 7,8 сек.

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

ИНДЕКС и ПОИСКПОЗ с выделением столбцов целиком

… то результат получается совсем печальный:

Время вычисления = 28,5 сек.

28 секунд, Карл! В 6 раз медленнее ВПР!

Способ 4. СУММЕСЛИ

Если нужно найти не текстовые, а именно числовые данные (как в нашем случае — цену), то вместо ВПР вполне можно использовать функцию СУММЕСЛИ (SUMIF). Изначально она задумывалась как инструмент для выборочного суммирования данных по условию (найди и сложи мне все продажи кабелей, например), но можно заставить её искать нужный нам товар и в прайс-листе. Если грузы в нём не повторяются, то суммировать будет не с чем и эта функция просто выведет искомое значение:

СУММЕСЛИ

Здесь:

  • Первый аргумент СУММЕСЛИ — это диапазон проверяемых ячеек, т.е. названия товаров в прайсе ($G$2:$G$600).
  • Второй аргумент (B2) — что мы ищем.
  • Третий аргумент — диапазон ячеек с ценами $H$2:$H$600, числа из которых мы хотим просуммировать, если в соседних ячейках проверяемого диапазона есть искомое значение.

Очевидным минусом такого подхода является то, что он работает только с числами. Также этот способ не удобен, если прайс-лист находится в отдельном файле — придется всё время держать его открытым, т.к. функция СУММЕСЛИ не умеет брать данные из закрытых книг, в отличие от ВПР, для которой это не проблема.

В плюсы же можно записать удобство при поиске сразу по нескольким столбцам — для этого идеально подходит более продвинутая версия этой функции — СУММЕСЛИМН (SUMIFS). Скорость вычислений же, при этом, весьма посредственная:

Время вычисления = 12,8 сек.

При выделении столбцов целиком, т.е. использовании формулы вида =СУММЕСЛИ(G:G; B2; H:H) всё ещё хуже:

Время вычисления = 41,7 сек.

Это самый плохой результат в нашем тесте.

Способ 5. СУММПРОИЗВ

Этот подход сейчас встречается не часто, но всё ещё достаточно регулярно. Обычно так любят извращаться пользователи старой школы, ещё хорошо помнящие те времена, когда в Excel было всего 255 столбцов и 56 цветов :)

Суть этого метода заключается в использовании функции СУММПРОИЗВ (SUMPRODUCT), изначально предназначенной для поэлементного перемножения нескольких диапазонов с последующим суммированием полученных произведений. В нашем случае, вместо одного из массивов будет выступать условие, а вторым будут цены:

СУММПРОИЗВ

Выражение ($G$2:$G$600=B2), по сути, проверяет каждое название груза в прайс-листе на предмет соответствия искомому значению (ФАНЕРА ПР). Результатом каждого сравнения будет логическое значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE), что в Excel интерпретируется как 1 и 0, соответственно. Последующее умножение этих нулей и единиц на цены оставит в живых цену только того товара, который нам, в данном случае, и нужен.

Эта формула является, по сути, формулой массива, но не требует нажатия обычного для них сочетания клавиш Ctrl+Shift+Enter, т.к. функция СУММПРОИЗВ поддерживает массивы уже сама по себе. Возможно, по этой же причине (формулы массива всегда  медленнее, чем обычные) такой скорость пересчёта такой формулы — не очень:

Время вычисления = 11,8 сек.

К плюсам же такого подхода можно отнести:

  • Совместимость с любыми, самыми древними версиями Excel.
  • Возможность задавать сложные условия (и несколько)
  • Способность этой формулы работать с данными из закрытых файлов, если добавить перед ней двойное бинарное отрицание (два подряд знака «минус»). СУММЕСЛИМН таким похвастаться не может.

Способ 6. ПРОСМОТР

Ещё один относительно экзотический способ поиска и подстановки данных, наравне с ВПР — это использование функции ПРОСМОТР (LOOKUP). Только не перепутайте её с новой, буквально, на днях появившейся функцией ПРОСМОТРХ (XLOOKUP) — про неё мы поговорим дальше особо. Функция ПРОСМОТР существовала в Excel начиная с самых ранних версий и тоже вполне может решить нашу задачу:

ПРОСМОТР

Здесь:

  • B2 — название груза, которое мы ищем
  • $G$2:$G$600 — одномерный диапазон-вектор (столбец или строка), где мы ищем совпадение
  • $H$2:$H$600 — такого же размера диапазон, откуда нужно вернуть найденный результат (цену)

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

  • Эта функция требует обязательной сортировки прайс-листа по возрастанию (алфавиту) и без этого не работает.
  • Если в таблице отгрузок искомое значение будет написано с опечаткой (например, АГЕДОЛ вместо АГИДОЛ), то функция ПРОСМОТР выдаст не ошибку #Н/Д, а цену для ближайшего предыдущего товара:

Ошибка с ПРОСМОТР

При работе с неидеальными данными в реальном мире это гарантированно создаст проблемы, как вы понимаете.

Скорость же вычислений у функции ПРОСМОТР (LOOKUP) весьма приличная:

Время вычисления = 7,6 сек.

Способ 7. Новая функция ПРОСМОТРХ

Эта функция пришла с одним из недавних обновлений пока только пользователям Office 365 и пока отсутствует во всех остальных версиях (Excel 2010, 2013, 2016, 2019). По сравнению с классической ВПР у этой функции есть масса преимуществ (упрощенный синтаксис, возможность искать не только сверху-вниз, возможность сразу задать значение вместо #Н/Д и т.д.) Формула для решения нашей задачи будет выглядеть в этом случае так:

ПРОСМОТРХ

Если не брать в расчёт необязательные 4,5,6 аргументы, то синтаксис этой функции полностью совпадает с её предшественником — функцией ПРОСМОТР (LOOKUP). Скорость вычислений при тестировании на наши 500000 строк тоже оказалась аналогичной:

Время вычисления = 7,6 сек.

Почти в два раза медленнее, чем у ВПР, вместо которой Microsoft предлагает теперь использовать ПРОСМОТРХ. Жаль.

И, опять же, если полениться и выделить диапазоны в прайс-листе целыми столбцами:

ПРОСМОТРХ и выделение столбцов целиком

… то скорость падает до совершенно неприличных уже значений:

Время вычисления = 28,3 сек.

А если на динамических массивах?

Прошлогоднее (осень 2019) обновление вычислительного движка Microsoft Excel добавило ему поддержку динамических массивов (Dynamic Arrays), о которых я уже писал. Это принципиально новый подход к работе с данными, который можно использовать почти с любыми классическими функциями Excel. На примере ВПР это будет выглядеть так:

ВПР на динамических массивах

Разница с классическим вариантом в том, что первым аргументом ВПР здесь выступает не одно искомое значение (а формулу потом нужно копировать вниз на остальные строки), а сразу весь массив из полумиллиона грузов B2:B500000, цены для которых мы хотим найти. Формула при этом сама распространяется вниз, занимая требуемое количество ячеек.

Скорость пересчета в таком варианте меня, откровенно говоря, ошеломила — пауза между нажатием на Enter после ввода формулы и получением результатов почти отсутствовала.

Время вычисления = 1 сек.

Что интересно, и новая ПРОСМОТРХ, и старая ПРОСМОТР, и связка ИНДЕКС+ПОИСКПОЗ в таком режиме тоже были очень быстрыми — время вычислений не больше 1 секунды! Фантастика.

А вот олдскульные подходы на основе СУММПРОИЗВ и СУММЕСЛИ(МН) с динамическими массивами работать отказались :(

Что с умными таблицами?

Обрадовавшись фантастическим результатам, полученным на динамических массивах, я решил вдогон попробовать протестировать разницу в скорости при работе с обычными и «умными» таблицами. Я имею ввиду те самые «красивые таблицы», в которые вы можете преобразовать ваш диапазон с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl+T.

Если предварительно превратить наши отгрузки и прайс в «умные» (по умолчанию они получат имена Таблица1 и Таблица2, соответственно), то формула с той же ВПР будет выглядеть как:

ВПР на умных таблицах

Здесь:

  • [@Груз] — ссылка на ячейку B2, означающая, в данном случае, что нужно взять значение из той же строки из столбца Груз текущей умной таблицы.
  • Таблица2 — ссылка на прайс-лист

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

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

Время вычисления = 1 сек.

У меня есть подозрение, что дело тут не в самих «умных» таблицах, а всё в том же обновлении вычислительного движка, т.к. на старых версиях Excel такого прироста в скорости на умных таблицах я не помню.

Бонус. Запрос Power Query

Замерять, так замерять! Давайте, для полноты картины, сравним наши перечисленные способы еще и с запросом Power Query, который тоже может решить нашу задачу. Кто-то скажет, что некорректно сравнивать пересчёт формул с механизмом обновления запроса, но мне, откровенно говоря, просто самому было интересно — кто быстрее?

Итак:

  1. Превращаем обе наши таблицы в «умные» с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl+T.
  2. По очереди загружаем таблицы в Power Query с помощью команды Данные — Из таблицы / диапазона (Data — From Table/Range).
  3. После загрузки в Power Query возвращаемся обратно в Excel, оставляя загруженные данные как подключение. Для этого в окне Power Query выбираем Главная — Закрыть и загрузить — Закрыть и загрузить в… — Только создать подключение (Home — Close&Load — Close&Load to… — Only create connection).
  4. После того, как обе исходные таблицы будут загружены как подключения, создадим ещё один, третий запрос, который будет объединять их между собой, подставляя цены из прайса в отгрузки. Для этого на вкладке Данные выберем Получить данные / Создать запрос — Объединить запросы — Объединить (Get Data / New Query — Merge queries — Merge):

    Объединяем запросы

  5. В открывшемся окне выберем исходные таблицы в выпадающих списках и выделим столбцы, по которым произойдет связывание:

    Настройки объединения

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

    Разворачиваем вложенные таблицы после объединения

  7. Останется выгрузить готовую таблицу обратно на лист с помощью уже знакомой команды Главная — Закрыть и загрузить (Home — Close&Load).

В отличие от формул, запросы Power Query не обновляются автоматически «на лету», а требуют щелчка правой кнопкой мыши по таблице (или запросу в правой панели) и выбору команды Обновить (Refresh). Также можно воспользоваться командой Обновить все (Refresh All) на вкладке Данные (Data).

Время обновления = 8,2 сек.

Итоговая таблица и выводы

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

Итоговая таблица результатов

Само-собой, у каждого из нас свои предпочтения, задачи и тараканы, но для себя я сформулировал выводы после этого тестирования так:

  • ВПР всё ещё главная рабочая лошадка. После прошлогодних обновлений, ускоряющих ВПР, и осенних обновлений вычислительного движка, эта функция заиграла новыми красками и даёт жару по-полной.
  • Не нужно лениться и выделять столбцы целиком — для всех способов без исключения это ухудшает результаты почти в 3 раза.
  • Экзотические способы из прошлого типа СУММПРОИЗВ и СУММЕСЛИ — в топку. Они работают очень медленно и, вдобавок, не поддерживают динамические массивы.
  • Динамические массивы и умные таблицы — это будущее.

К сожалению, у меня не было возможностей полноценно протестировать эти методы на старых версиях Excel и на Excel for Mac (запускать эмуляцию Office на виртуальной машине и тестировать скорость — не есть правильно). Буду благодарен, если вы сможете найти время, чтобы прогнать эти способы на своих ПК и версиях и поделитесь результатами и своими мыслями в комментариях, чтобы вместе мы смогли составить полную картину.

Ссылки по теме

  • Как использовать функцию ВПР для подстановки значений в Excel
  • Функция ПРОСМОТРХ как наследник ВПР
  • 5 вариантов использования функции ИНДЕКС

Like this post? Please share to your friends:
  • Много нулей в excel
  • Мкб 10 excel скачать бесплатно
  • Михалков а что у вас word
  • Миф экспорт в excel
  • Миф фильтр в excel