Excel добавить значения которых нет в столбце

Skip to content

ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР

В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.

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

  • Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
  • Как использовать формулу ИНДЕКС ПОИСКПОЗ
  • ИНДЕКС+ПОИСКПОЗ вместо ВПР?
  • Поиск справа налево
  • Двусторонний поиск в строках и столбцах
  • ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
  • Как найти среднее, максимальное и минимальное значение
  • Что делать с ошибками поиска?

Для чего это нужно? Потому что функция ВПР имеет множество ограничений, которые могут помешать вам получить желаемый результат во многих ситуациях. С другой стороны, комбинация ПОИСКПОЗ ИНДЕКС более гибкая и имеет много замечательных возможностей, которые во многих отношениях превосходят ВПР.

Функции Excel ИНДЕКС и ПОИСКПОЗ — основы

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

Функция ИНДЕКС

Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:

ИНДЕКС(массив,номер_строки,[номер_столбца])

Вот простое объяснение каждого параметра:

  • массив — это диапазон ячеек, именованный диапазон или таблица.
  • номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
  • номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.

Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .

А вот пример формулы ИНДЕКС в самом простом виде:

=ИНДЕКС(A1:C10;2;3)

Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.

Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.

Функция ПОИСКПОЗ

Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.

Синтаксис функции ПОИСКПОЗ следующий:

ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])

  • искомое_значение — числовое или текстовое значение, которое вы ищете.
  • диапазон_поиска — диапазон ячеек, в которых будем искать.
  • тип_совпадения — указывает, следует ли искать точное соответствие или наиболее близкое совпадение:
    • 1 или опущено — находит наибольшее значение, которое меньше или равно искомому значению. Требуется сортировка массива поиска в порядке возрастания.
    • 0 — находит первое значение, точно равное искомому значению. В комбинации ИНДЕКС/ПОИСКПОЗ вам почти всегда нужно точное совпадение, поэтому вы чаще всего устанавливаете третий аргумент вашей функции в 0.
    • -1 — находит наименьшее значение, которое больше или равно искомому значению. Требуется сортировка массива поиска в порядке убывания.

Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:

=ПОИСКПОЗ(«лимоны»;B1:B3;0)

Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .

На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.

Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.

Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.

Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel

Теперь, когда вы знаете основы, я считаю, что вы уже начали понимать, как ПОИСКПОЗ и ИНДЕКС работают вместе. Короче говоря, ИНДЕКС извлекает нужное значение по номерам столбцов и строк, а ПОИСКПОЗ предоставляет ей эти номера. Вот и все!

Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:

ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))

Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:

Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))

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

  • Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
  • Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.

Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.

Но указывать название города в формуле не совсем правильно, так как для каждого нового поиска придется корректировать эту формулу. Введите его в какую-нибудь отдельную ячейку, скажем, F1, укажите ссылку на ячейку для ПОИСКПОЗ, и вы получите формулу динамического поиска:

=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))

Важное замечаниеКоличество строк в аргументе массив функции ИНДЕКС должно совпадать с количеством строк в аргументе просматриваемый_массив в ПОИСКПОЗ, иначе формула выдаст неверный результат.

Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»

Вот как это будет выглядеть:

=ВПР(F1; A2:C10; 3; 0)

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

ИНДЕКС+ПОИСКПОЗ вместо ВПР?

Решая, какую функцию использовать для вертикального поиска, большинство знатоков Excel сходятся во мнении, что ПОИСКПОЗ+ИНДЕКС намного лучше, чем ВПР. Однако многие до сих пор остаются с ВПР, во-первых, потому что это проще, а, во-вторых, потому что они не до конца понимают все преимущества использования формулы ПОИСКПОЗ ИНДЕКС в Excel. Без такого понимания никто не захочет тратить свое время на изучение более сложного синтаксиса.

Ниже я укажу на ключевые преимущества ИНДЕКС ПОИСКПОЗ перед ВПР, а уж вам решать, является ли это достойным дополнением к вашему арсеналу знаний в Excel.

4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

  1. Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
  2. Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.

С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.

  1. Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
  2. Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.

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

ИНДЕКС ПОИСКПОЗ в Excel – примеры формул

Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.

Формула для поиска справа налево

Как уже упоминалось, ВПР не может получать значения слева от столбца поиска. Таким образом, если ваши значения поиска не находятся в самом левом столбце, нет никаких шансов, что формула ВПР принесет вам желаемый результат. Функция ПОИСКПОЗ ИНДЕКС в Excel более универсальна и не имеет особого значения, где расположены столбцы поиска и возврата.

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

Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:

=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))

СоветЕсли вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками  (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.

Двусторонний поиск в строках и столбцах

В приведенных выше примерах мы использовали ИНДЕКС ПОИСКПОЗ вместо классической функции ВПР, чтобы вернуть значение из точно указанного столбца. Но что, если вам нужно искать в нескольких строках и столбцах? То есть, сначала нужно найти подходящий столбец, а уж потом извлечь из него значение? Другими словами, что, если вы хотите выполнить так называемый матричный или двусторонний поиск?

Это может показаться сложным, но формула очень похожа на базовую функцию ПОИСКПОЗ ИНДЕКС в Excel, но с одним отличием. 

Просто используйте две функции ПОИСКПОЗ, вложенных друг в друга: одну – для получения номера строки, а другую – для получения номера столбца. 

ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))

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

С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:

=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))

Как работает эта формула?

Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:

ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.

ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.

Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:

ИНДЕКС(B2:D11, 3, 3)

В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно? 

ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям

Если у вас была возможность прочитать наши материалы по ВПР в Excel, вы, вероятно, уже протестировали формулу для ВПР с несколькими условиями . Однако существенным недостатком этого подхода является необходимость добавления вспомогательного столбца. Хорошей новостью является то, что функция ПОИСКПОЗ ИНДЕКС в Excel также может выполнять поиск по нескольким условиям без изменения или реструктуризации исходных данных!

Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:

{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter.

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

Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))

Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.

Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:

Рис5

Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))

Разберем пошагово, как это работает.

Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.

Вторая формула без массива основана на способности функции ИНДЕКС работать с массивами. Второй вложенный ИНДЕКС имеет 0 в номер_строки , так что он будет передавать весь массив столбцов в ПОИСКПОЗ.

Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ

Microsoft Excel имеет специальные функции для поиска минимального, максимального и среднего значения в диапазоне. Но что, если вам нужно получить значение из другой ячейки, связанной с этими значениями? Например,  получить название города с максимальным населением или узнать товар с минимальными продажами? В этом случае используйте функцию МАКС , МИН или СРЗНАЧ вместе с ИНДЕКС ПОИСКПОЗ.

Максимальное значение.

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

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))

Скриншот с примером находится чуть ниже.

Минимальное значение

Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))

Ближайшее к среднему

Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))

В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:

  • Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
  • Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
  • Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.

В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).

Что делать с ошибками поиска?

Как вы, наверное, заметили, если формула ИНДЕКС ПОИСКПОЗ в Excel не может найти искомое значение, она выдает ошибку #Н/Д. Если вы хотите заменить это стандартное сообщение чем-то более информативным, оберните формулу ПОИСКПОЗ ИНДЕКС в функцию ЕСНД . Например:

=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)

И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:

Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:

=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)

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

Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.

  • Возможен ли «левый» поиск?

  • Повлияет ли на результат вставка и удаление столбцов?

    Вы можете вставлять и удалять столько столбцов, сколько хотите. На результат ИНДЕКС ПОИСКПОЗ это не повлияет.

  • Возможен ли поиск по строкам и столбцам?

    Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
    ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
    Подробную инструкцию смотрите здесь.

  • Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?

    Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.

Вот еще несколько статей по этой теме:

Заполнение пустых ячеек значениями из соседних ячеек

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

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

Способ 1. Без макросов

Выделяем диапазон ячеек в первом столбце, который надо заполнить (в нашем примере, это A1:A12).

Нажимаем клавишу F5 и затем кнопку Выделить (Special) и в появившемся окне выбираем Выделить пустые ячейки (Blanks):

fill-blanks3.png

Не снимая выделения, вводим в первую ячейку знак «равно» и щелкаем по предыдущей ячейке или жмём стрелку вверх (т.е. создаем ссылку на предыдущую ячейку, другими словами):

fill-blanks4.png

И, наконец, чтобы ввести эту формулу сразу во все выделенные (пустые) ячейки нажимаем Ctrl + Enter вместо обычного Enter. И все! Просто и красиво.

В качестве завершающего мазка я советовал бы заменить все созданные формулы на значения, ибо при сортировке или добавлении/удалении строк корректность формул может быть нарушена. Выделите все ячейки в первом столбце, скопируйте и тут же вставьте обратно с помощью Специальной вставки (Paste Special) в контекстом меню, выбрав параметр Значения (Values). Так будет совсем хорошо.

Способ 2. Заполнение пустых ячеек макросом

Если подобную операцию вам приходится делать часто, то имеем смысл сделать для неё отдельный макрос, чтобы не повторять всю вышеперечисленную цепочку действий вручную. Для этого жмём Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer), чтобы открыть редактор VBA, затем вставляем туда новый пустой модуль через меню Insert — Module и копируем или вводим туда вот такой короткий код:

Sub Fill_Blanks()
    For Each cell In Selection
        If IsEmpty(cell) Then cell.Value = cell.Offset(-1, 0).Value
    Next cell
End Sub

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

Для удобства, можно назначить этому макросу сочетание клавиш или даже поместить его в Личную Книгу Макросов (Personal Macro Workbook), чтобы этот макрос был доступен при работе в любом вашем файле Excel.

Способ 3. Power Query

Power Query — это очень мощная бесплатная надстройка для Excel от Microsoft, которая может делать с данными почти всё, что угодно — в том числе, легко может решить и нашу задачу по заполнению пустых ячеек в таблице. У этого способа два основных преимущества:

  • Если данных много, то ручной способ с формулами или макросы могут заметно тормозить. Power Query сделает всё гораздо шустрее.
  • При изменении исходных данных достаточно будет просто обновить запрос Power Query. В случае использования первых двух способов — всё делать заново.

Для загрузки нашего диапазона с данными в Power Query ему нужно либо дать имя (через вкладку Формулы — Диспетчер имен), либо превратить в «умную» таблицу командой Главная — Форматировать как таблицу (Home — Format as Table) или сочетанием клавиш Ctrl+T:

Превращаем таблицу в умную

После этого на вкладке Данные (Data) нажмем на кнопку Из таблицы / диапазона (From Table/Range). Если у вас Excel 2010-2013 и Power Query установлена как отдельная надстройка, то вкладка будет называться, соответственно, Power Query.

В открывшемся редакторе запросов выделим столбец (или несколько столбцов, удерживая Ctrl) и на вкладке Преобразование выберем команду Заполнить — Заполнить вниз (Transform — Fill — Fill Down):

Заполнение пустых ячеек в Power Query

Вот и всё :) Осталось готовую таблицу выгрузить обратно на лист Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…)

В дальнейшем, при изменении исходной таблицы, можно просто обновлять запрос правой кнопкой мыши или на вкладке Данные — Обновить всё (Data — Refresh All).

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

  • Объединение двух столбцов с данными
  • Быстрое выделение всех ячеек с формулами или константами
  • Быстрое заполнение пустых ячеек макросом из надстройки PLEX

Доброго всем времени суток. Есть таблица на несколько тысяч строк к ней из другой таблицы нужно добавить те значения которых в ней нет. Сейчас реализую таким образом. В пустую ячейку добавляю формулу которой через ВПР ищу значения в первой таблице если формула вернула ошибку значит такой позиции в базе нет и ее нужно добавить потом фильтрую результат автофильтром и копирую полученные данные в конец таблицы на первом листе. В принципе можно написать макрос который будет делать это все автоматом и все но вот тут я предвижу следующие проблемы. База состоит где то из 15000 строк при выше описанном способе потребуется пересчет листа а это занимает немало времени в среднем около трех минут. Отсюдова вопрос как все это лучше реализовать есть ли способ который будет работать быстрее чем то что я предложил выше. Пример базы во вложении

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Для начала — упростите формулу

=ПОИСКПОЗ(A2;base;0)
или
=ЕНД(ПОИСКПОЗ(A2;base;0))
Таблица-то состоит из одного столбца или из нескольких?


А за формулы спасибо не знаю почему сразу не подумал сделать так может и в правду быстрей будет работать
1 колонка это тот столбец в который нужно подтянуть недостающие значения помимо нее татам еще куча данных
На первом листе это около 15 колонок и часть из них вычисляться формулами и подтягивает через ВПР данные из других листов
на втором листе таблица состоит чисто из набора значений в 5 колонках. Но подтянуть нужно только в этот столбец и из того столбца

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Поскольку у Вас 2007 (или 2010), то можно так (должно быть довольно быстро):

Sub tt()
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
ac_ = Application.Calculation
Application.Calculation = xlCalculationManual
'Первая таблица
    r10_ = 1 'первая строка таблицы
    r11_ = Лист1.Range("A" & Rows.Count).End(xlUp).Row 'последняя строка таблицы
'Вторая таблица
    r20_ = 2 'первая строка таблицы
    r21_ = Лист2.Range("A" & Rows.Count).End(xlUp).Row 'последняя строка таблицы
With Лист1
    .Range("A" & r11_ + 1 & ":A" & r11_ + 1 + r21_ - r20_) = Лист2.Range("A" & r20_ & ":A" & r21_).Value
    .Range("A" & r10_ & ":A" & r11_ + 1 + r21_ - r20_).RemoveDuplicates Columns:=1, Header:=xlNo
    r00_ = .Range("A" & Rows.Count).End(xlUp).Row
    Лист1.Range("A" & r10_ & ":A" & r00_) = .Range("A1:A" & r00_).Value
End With
Лист1.Range("A" & r10_).Copy
Лист1.Range("A" & r10_ & ":A" & r00_).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Application.Calculation = ac_
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Спасибо в 2007 действительно работает без проблем. Узнал из примера много интересного
Но вот проблема в том что все должно работать в 2003 экселе

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Видел дату последнего ответа, но может ТС будет интересно:-)

Public Sub www()
    Dim a, b, i&, n&
    a = Me.[a1].CurrentRegion.Value
    ReDim b(1 To UBound(a, 1) + Sheets(2).UsedRange.Rows.Count, 1 To 1)
    With CreateObject("scripting.dictionary")
    For i = 1 To UBound(a)
        If Not .exists(a(i, 1)) Then _
         n = n + 1: .Item(a(i, 1)) = n: b(n, 1) = a(i, 1)
    Next
    a = Sheets(2).[a1].CurrentRegion.Value
    For i = 2 To UBound(a)
        If Not .exists(a(i, 1)) Then _
         n = n + 1: .Item(a(i, 1)) = n: b(n, 1) = a(i, 1)
    Next
    End With
    Sheets(1).[a1].Resize(n, 1) = b
End Sub

Я, как всегда, чертовски адекватен… Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771


Спасибо. Посмотрел бегло вроде то что нужно. Завтра буду разбираться. Спасибо за ответ.

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Найти недостающие значения

На чтение 2 мин. Просмотров 6.5k.

= ЕСЛИ( СЧЕТЕСЛИ ( список ; значение ); «OK» ; «Отсутствует» )

Если вы хотите выяснить, какие значения в одном списке отсутствуют из другого списка, вы можете использовать простую формулу, основанную на функции СЧЕТЕСЛИ.

Функция СЧЕТЕСЛИ подсчитывает ячейки, которые отвечают критериям, возвращая число найденных вхождений. Если такие ячейки не найдены, СЧЕТЕСЛИ возвращает ноль.

Найти недостающие значения

В показанном примере, формула в G5 является:

=ЕСЛИ(СЧЁТЕСЛИ($B$5:$B$10;F5);»ОК»; «Отсутствует»)

Где «список» является именованный диапазон, что соответствует диапазону B6: B11.

Функция ЕСЛИ требует логического теста, чтобы вернуть значение ИСТИНА или ЛОЖЬ. В этом случае, если значение найдено, положительное число возвращается СЧЕТЕСЛИ, который имеет значение ИСТИНА, в результате чего, если вернуть «ОК». Если значение не найдено, возвращается ноль, который имеет значение ЛОЖЬ, и ЕСЛИ возвращает «Отсутствует».

Количество пропущенных значений

=СУММПРОИЗВ(—(СЧЁТЕСЛИ(B5:B10;F5:F7)=0))

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

Количество пропущенных значений

Функции СЧЕТЕСЛИ проверяет значения в диапазоне от критериев. Часто, только один критерий подается, но в этом случае мы поставляем больше чем один критерий.

Для диапазона, мы даем СЧЕТЕСЛИ именованному диапазону лист1 (B6: B11) и критериям мы обеспечиваем именованный диапазон лист2 (F6: F8).

Потому что мы даем СЧЕТЕСЛИ более чем один критерий, мы получим более одного результата в массиве, который выглядит следующим образом: {2; 1; 0}

Мы хотим, чтобы рассчитывались только те значения, которые отсутствуют, которые по определению имеют счетчик, равный нулю, поэтому мы преобразуем эти значения ИСТИНА и ЛОЖЬ с «= 0» заявлением, что дает: {ЛОЖЬ; ЛОЖЬ; ИСТИНА}

Тогда мы изменим значения ИСТИНА/ЛОЖЬ в 1 и 0 с двойным отрицательным оператором (-), который производит: {0, 0, 1}

Наконец, мы используем СУММПРОИЗВ, чтобы сложить элементы в массиве и получить общее количество пропущенных значений.

Вставка или Ctrl+V, пожалуй, самый эффективный инструмент доступный нам. Но как хорошо вы владеете им? Знаете ли вы, что есть как минимум 14 различных способов вставки данных в листах Ecxel? Удивлены? Тогда читаем этот пост, чтобы стать пэйст-мастером.

Данный пост состоит из 2 частей:

— Основные приемы вставки

— Вставка с помощью обработки данных

1. Вставить значения

Вставить значения ExcelЕсли вы хотите просто вставить значения с  ячеек, последовательно нажимайте клавиши Я, М и З, удерживая при этом клавишу Alt, и в конце нажмите клавишу ввода. Это бывает необходимо, когда вам нужно избавиться от форматирования и работать только с данными.

Начиная с Excel 2010, функция вставки значений отображается во всплывающем меню при нажатии правой клавишей мыши

Вставить значения правой кнопкой Excel

 2. Вставить форматы

Вставить форматы ExcelНравиться этот чудный формат, который сделал ваш коллега? Но у вас нет времени, чтобы так же оформить свою таблицу. Не беспокойтесь, вы можете вставить форматы (включая условное форматирование) из любой скопированной ячейки. Удерживая клавишу Alt, последовательно нажимайте Я, М, Ф, Ф, Ф и в конце нажмите клавишу Ввода.

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

3. Вставить формулы

Иногда возникает необходимость скопировать несколько формул в новый диапазон. Для этого, удерживая клавишу Alt, последовательно нажимаем Я, М, Ф и в конце нажмите клавишу Ввода. Вы можете достичь того же эффекта, путем перетаскивания ячейки, содержащей формулу, в новый диапазон, если диапазон находится рядом.

4. Вставить проверку данных

Вставка проверки данных ExcelХотите скопировать только проверку значений, без содержимого и форматов ячейки. Для этого копируете ячейку, в котором присутствует проверка условий, щелкаете правой кнопкой мыши на ячейку, куда хотите скопировать данные. Выбираете Специальная вставка -> Условия на значения.

Условия на значения Excel

5. Скопировать ширину столбцов с других ячеек

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

6. Берем комментарии и вставляем в другом месте

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

7. И конечно, вставляем все подряд

В этом нам помогут сочетания клавиш Ctrl+V или Alt+Я+М или клавиша вставки на панели инструментов.

Вставка с помощью обработки данных

8. Вставка с дополнительной математической операцией

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

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

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

9. Вставка с учетом пустых ячеек

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

Вставка с учетом пустых строк Excel

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

10. Транспонированная вставка

транспониированная вставка ExcelК примеру, у вас имеется колонка со списком значений, и вам требуется переместить (скопировать) данные в строку (т.е. вставить их поперек). Как бы вы это сделали? Ну конечно, вам следует воспользоваться специальной вставкой и в диалоговом окне установить галку «Транспонировать». Либо воспользоваться сочетанием клавиш Alt+Я, М и А.

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

11. Вставить ссылку на оригинальную ячейку

Если вы хотите создать ссылки на оригинальные ячейки, вместо копипэйстинга значений, этот вариант, то, что вам нужно. Воспользуйтесь специальной вставкой, как примерах выше, и вместо кнопки «ОК» , нажмите «Вставить связь». Либо воспользуйтесь сочетанием клавиш Alt+Я, М и Ь, что создаст автоматическую ссылку на скопированный диапазон ячеек.

12. Вставить текст с разбивкой по столбцам

Эта опция полезна, когда вы вставляете данные извне. Например, если вы хотите вставить несколько строчек этого блога на лист Excel, но при этом каждое слово было в отдельном столбце. Для этого копируем текст (Ctrl+C), переходим на лист Excel и вставляем данные (Ctrl+V). У меня, по умолчанию, программа вставила строку с текстом в одну ячейку. Теперь необходимо проделать небольшой финт ушами. Идем во вкладку «Данные» -> «Текст по столбцам» и настраиваем мастер текстов. На первом шаге указываем формат данных – «с разделителями», жмем «Далее», устанавливаем символ-разделитель —  «Пробел» и «Готово». Текст, который, мы вставили в одну ячейку разбился по столбцам. Таким образом мы указали программе, как бы мы хотели воспринимать текстовые данные.

91-paste-text-import-wizard

Теперь, во время последующих вставок текста, кликаем правой кнопкой по ячейке, куда вы хотите вставить текст, выбираем «Специальная вставка» -> «Текст» -> «ОК». Excel разбил нашу строку на столбцы, что нам и требовалось.

92-paste-text-import-wizard

13. Импорт данных из интернета

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

14. Какой ваш любимый способ вставки?

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

Вставить в видимые строки в Excel.

​Смотрите также​: Лена, у Вас​ ​solotze​​ на клавиатуре не​ нужно нажать левой​ диапазон.​ фильтра», _ Title:=»Копирование​ нужное значение?​ новые данные вставляются​ не в те​ Exit Sub End​Такой способ подойдет и​ про которую мне​ фильтр, то вставятся​ Excel провели с​ или формулой, как​ только в отфильтрованные​Вставить только в видимые​ не Excel, а​: может чтоб она​
​ могу.​​ клавишей мыши, перетащить​​2) Нажать кнопку​
​ значений», _ Default:=ActiveCell.Value)​Tviga​ с помощью заполнения?​
​ которые я фильтранул……​ If ‘переносим данные​ для ввода значений​ задают почти на​ отфильтрованные данные и​ помощью фильтра или​ в первой ячейке.​ строки.​ строки в​ ОпенОфис. Там это​ была активна, надо​еще вот это​ и отпустить на​ «ВыделитьВидемыеЯчейки».​ Selection.AutoFilter Field:=1, Criteria1:=a​: вобщем так.​Тогда нужно сделать​ВОПРОС как вставить​
​ из одного диапазона​
​ и для ввода​ каждом тренинге. Есть​
Вставить в видимые строки Excel.​ в скрытые фильтром​ сортировки. Теперь их​ В нашем примере,​
​Второй способ.​
​Excel​ вообще не нужно​ еще куда нажать​ нашла​ любой панели кнопок​3) Начать копирование​ c = ActiveCell.Column​не совсем понятно​ так: отфильтровать столбец,​ в те которые​ в другой только​ формул. Например, если​ таблица, в которой​ строки. Вообщем, получится​ нужно распечатать или​ мы написали число800​
​Также отфильтруем данные.​числа, формулы, текст​ — фильтруете ячейки,​такаюсь уже пол​Меню​ (лучше где-то в​ (ну а далее​ EndRow = ActiveSheet.UsedRange.Row​ как завязаны между​ выделить диапазон ячеек,​ отфильтрованы!!!!​​ в видимые ячейки​ скидка для «Ашанов»​

​ Фильтром (​ каша.​ перенести в другое​ в ячейку D2​ В первой ячейке​ можно несколькими способами.​ выделяете всю кучу​ дня в эту​Правка​ конце панели, чтоб​ обычно).​​ — 1 +​ собой листы. Нет​​ которые хотим заполнить,​(можно скопировать отфильтрофанные​ i = 1​ не фиксированная, а​Данные — Фильтр​Второй способ.​ место.​ столбца D. Немного​ пишем число, формулу,​ Когда нужно вставить​ сразу и, не​ кнопку​Перейти​ логику панели не​Вопрос в другом.​ _ ActiveSheet.UsedRange.Rows.Count ‘​ никаких одинаковых данных.​ затем в диалоговом​ данные на новый​ For Each cell​ составляет 10% от​
​) отобраны несколько строк.​
​Таблица та же.​Копирование в Excel​ не по теме,​ текст, т.д. Теперь,​ числа, формулы, текст​ задумываясь о плохом,​может есть еще​Выделить​ ломать).​ Где найти кнопку​ Находим последнюю строку​ Куча повторяющихся значений.​ окне ВЫДЕЛЕНИЕ ГРУППЫ​ лист «вставить значения»​ In pasterng If​ суммы сделки, то​ Задача — вставить​ Выделить таблицу с​настроено так, что​ но хочется сказать​
Как вставить только в видимые стоки Excel.​ если строк тысячи,​ не во все​ просто вставляете в​ какой вариант?​Только виденные ячейки​8) закрыть панель​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ _ рабочей области​ Кодов нет. Из​ ЯЧЕЕК поставить переключатель​

excel-office.ru

Копирование в Excel отфильтрованных данных.

​ — далее добавить​ cell.EntireRow.Hidden = False​ в первую отфильтрованную строку​ какие-либо нужные нам​ отфильтрованными данными. На​ копируются и скрытые​ здесь. Сочетание клавиш​​ то выделяем ячейки​​ строки таблицы, можно​ нужное место.​solotze​
​Копировать​​ настройки.​​ ее можно найти​ For i =​
​ того что было​
​ ТОЛЬКО ВИДИМЫЕ ЯЧЕЙКИ,​ столбец, НО тогда​​ Then cell.Value =​ можно ввести не​
​ значения именно в​ закладке «Главная» нажимаем​
​ ячейки.​ «Ctrl» + R​ так: нажимаем клавиши​
​ воспользоваться фильтром. Как​igrtsk​:​
Как копировать отфильтрованные строки в Excel.​Вставить​После вышеописанных действий​ в настройках панелей​ 1 To EndRow​ предложено могу только​ ввести нужное значение​
​ нарушается последовательность списка​ copyrng.Cells(i).Value i =​ константу (1000), а​ видимые отфильтрованные строки,​
​ в разделе «Редактирование»​​Рассмотрим два способа,​ – копирует данные​ «Ctrl» + «Shift»​ установить фильтр и​: А я уже​Ну, попробуйте тогда Сервис-Настройка-Команды,​но не могу​ кнопка «ВыделитьВидемыеЯчейки» будет​ управления.​ If Cells(i, c).Value​ так. Вставить пару​ и нажать +.​ ЗАГОЛОВКИ ПОДПУНКТЫ с​ i + 1​ формулу (=C2*10%) и также скопировать вниз.​ пропуская при этом​ ​ кнопку​
​к​ по строке Excel​ + кнопку (стрелочку)​ как фильтровать в​ грешным делом подумал,​ в категории «Правка»​​ все это найти​ там куда вы​​Olya1985​ = a Then​ столбцов. И формулу.​ В этом случае​ текстом описанием и​ End If Next​Другое дело, если вам​ скрытые. Обычное копирование-вставка​функции «Найти и выделить»​​ак копировать отфильтрованные строки​ (в нашем примере​ вниз (или кнопку​ Excel, смотрите в​ что тему затролили​ кнопка «Выделить только​ в компе!!!​ ее перетащили и​: Вопрос в другом.​ Cells(i, c).Select Selection.Copy​
​ А больше не​​ заполнятся только видимые​ т.п. НУЖНО СОХРАНИТЬ​​ cell End Sub​ необходимо вставить в​ при этом не​ в Excel​ в Excel.​ – строка 2,​ вверх, зависит от​ статье «Фильтр в​solotze​ видимые ячейки».​Понимаю, что туплю,​ можно будет выполнить​

excel-office.ru

Вставка в отфильтрованные строки

​ Где найти кнопку​ Cells(EndRow + 5,​ знаю как.​ ячейки.​ ЦЕЛОСТНОСТЬ!!!!) ХЕЛП!!!!!!​Как легко сообразить, макрос​​ отфильтрованные ячейки не​​ сработает, т.к. данные вставятся​. Затем, нажимаем кнопку​Первый способ.​ копировали число 800​ того, где хотим​ Excel». Но, чтобы​: что значит Опен-офис?​это вообще не​ но надо сделать…​ все действия из​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ c).Activate ‘ Активируем​Вроде все сошлось.​Гость​Serge_007​

Способ 1. Вставка одинаковых значений или формул

​ запрашивает у пользователя​ одинаковые значения или​ не только в​ «Перейти». В появившемся​Есть замечательная функция​ из ячейки D2).​ выделить ячейки –​ вставить данные только​ И как фильтровать?​

Excel вставка в только видимые ячейки

​ могу найти!!! Либо​ArkaIIIa​ моего предыдущего сообщения.​ ее можно найти​

​ последнюю строку _​http://zalil.ru/33260588​: Как вариант могу​: В Excel 2007/2010​ по очереди два​ формулы, а разные,​ видимые, но и​ диалоговом окне, нажимаем​

Excel вставка в только видимые ячейки

​ в Excel –​ Получилось так.​ ниже или выше​ в видимые ячейки,​solotze​ я туплю, либо​: Вы же всё​

Excel вставка в только видимые ячейки

​Кстати, если впоследствии​ в настройках панелей​ плюс 5 строк.​Olya1985​ скинуть вам файл,​ по умолчанию данные​ диапазона — копирования​ да еще и​ в скрытые ячейки.​ кнопку «Выделить…». В​функция «Специальная вставка» в​Третий способ.​

Способ 2. Макрос вставки любых значений

​ ячейки, в которой​ нужны свои способы,​: _Boroda_,​ версия компа чудная.​ сами написали.​ Вам будет нужно​ управления.​ If Not IsEmpty(Cells(EndRow​: Подскажите, пожалуйста, можно​ попробуете, если все​​ вставляются только в​​ и вставки. Затем​ брать их из другого​ Давайте посмотрим, как​ окне «Выделение группы​​ Excel.​​В новом столбце​ написали число).​

​ особенно, если много​Надо что бы​Не пойму в​1) Выделяете весь​ удалить какие-то кнопки​А где именно?​ + 5, c).Value)​ ли в excel​ получится буду благодарен…​ отфильтрованные строки, что​ проверяет, чтобы их​ диапазона. Тогда придется использовать​ можно обойти эту​ ячеек» ставим галочку​Итак, у нас​ (в нашем примере​Теперь, или нажимаем​ строк.​ при копировании, скрытые​ чем дело.​ диапазон​ с панелей, то​Семен Казменко​ Then ‘ если​ 2003 после копирования​Гость​ бы вставить во​ размеры совпадали, т.к.​ несложный макрос. Нажмите​ проблему.​ у строки «только​ есть таблица.​ – столбец Е)​

​ сочетание клавиш «Ctrl»​Первый способ -​ ячейки (цветные), не​ArkaIIIa​2) Тыкаете F5​ их можно перетаскивать​: Расскажу только про​ строка не пустая,​ столбца с отфильтрованными​: новые данные вставляются​ все необходимо воспользоваться​ разница в размерностях​ сочетание клавиш​Если вам нужно вставить​ видимые ячейки». Нажимаем​Как установить фильтр, смотрите​ выделяем ячейки. Нажимаем​

planetaexcel.ru

Таблица Фильтрация ВСТАВКА -СРОЧНО НУЖНА ПОМОЩЬ!!!

​ + G, или​​обычный​ копировались.​
​: У меня, к​3) В появившемся​ в обратном порядке​ Excel-2003. Дома под​ тогда… Do ActiveCell.Offset(1,​
​ данными сделать так,​ не с помощью​ спецвставкой и поставить​ вызовет впоследствии ошибку​Alt+F11​ одни и те​ «ОК».​ в статье «Фильтр​ клавишу F5. Выйдет​ клавишу F5. Выйдет​.​igrtsk​
​ сожалению, нет под​ окне внизу кнопочка​ при наличии на​
​ рукой только он.​ 0).Select Loop Until​ чтобы при их​ заполнения, а копируются​ галку на «Пропускать​ при вставке. Затем​, в открывшемся окне​ же значения во​Теперь на этой же​ в Excel».​

​ диалоговое окно «Переход».​​ диалоговое окно «Переход».​Возьмем такую таблицу.​:​ рукой 2003 экселя.​ «выделить»​ экране окна «Настройка».​1) левой кнопкой мыши​ IsEmpty(ActiveCell.Value) ‘…находим пустую​ вставке в отедельный​

​ с нового листа…(при​​ пустые ячейки».​ макрос перебирает все​ Visual Basic вставьте​ все отфильтрованные строки​ выделенной таблице правой​Мы убираем фильтром​ Нажимаем кнопку «Выделить…».​ Нажимаем кнопку «Выделить…».​ Таблица будет одна​solotze​ Сделайте хотя бы​4) Ставите флажок​

​ Например, выбрали кнопку​​ по любой панели​ ячейку ниже ActiveSheet.Paste​ столбец они вставлялись​

​ протягивании все ок)​​Гость​
​ ячейки в диапазоне​ новый пустой модуль​ списка, то все​

​ мышкой вызываем контекстное​​ из списка всех​ И, в новом​ И, в новом​
​ для всех примеров.​,​ скрин шапки, что​ на «Только видимые​ «Сохранить» (дискетка) и​ кнопок (например, обычно​ Application.CutCopyMode = False​ с учетом фильтра,​Pelena​: Стоит 2007 …в​ вставки и переносит​ через меню​ просто. Предположим, что​

​ меню. Нажимаем функцию​​ Ивановых. Получилось так.​ диалоговом окне «Выделение​ диалоговом окне «Выделение​Уберем фильтром все цифры​

​Судя по расширению​​ у вас там​ ячейки»​ перетащили ее отпустив​ включена панель «Стандартная»).​ Else ActiveSheet.Paste Application.CutCopyMode​

​ то есть тольке​​: А у Вас​ том то и​
​ туда данные из​

​Insert — Module​​ у нас есть​
​ «Копировать». В новом​
​Выделяем таблицу, нажимаем в​ группы ячеек», ставим​ группы ячеек» ставим​ 2 из таблицы.​ файла (​
​ в менюшке верхней​5) Тыкаете ОК​

​ на окне «Настройка».​​2) в появившемся​ = False End​ те данные которые​ не получилось?​
​ дело что по​ диапазона копирования, если​и скопируйте туда​ вот такой список​ месте (в нашем​

​ контекстном меню «Копировать».​​ галочку у слов​
​ галочку у слов​ В оставшиеся видимые​.ods​ вообще есть.​6) У вас​Olya1985​ контекстном меню список​ If End If​ видны нам и​Выкладывайте файл​ умолчанию вставляет значения​ строка видима (т.е.​
​ этот код:​
​ сделок:​

excelworld.ru

Вставить скопированные строки в Excel с учетом фильтра

​ примере – это​​ Нажимаем левой мышкой​ «Только видимые ячейки».​ «Только видимые ячейки».​ ячейки поставим цифру​) вы используете в​solotze​ автоматом выделяются только​: спасибо! у меня​ панелей экранных кнопок,​ Next i End​ не hidden.​Гость​ по порядку во​

​ не отфильтрована).​​Sub PasteToVisible() Dim​… и в нем нужно поставить​ ячейка А15) нажимаем​ ячейку А9, выбираем​ Нажимаем «ОК». Теперь,​Нажимаем «ОК». Затем вставляем​ 600. В ячейку​ работе не офисный​: F5 нашла как​ видимые ячейки, вы​ тоже excel 2003.​ в самом низу​ SubP.S. Мало данных​Igor_Tr​: вот сам файлик​ все скрытые строки​Гость​ copyrng As Range,​ фиксированную скидку в​ «Вставить». Всё. Получилось​ в контекстном меню​ не отменяя выделения,​ как обычно.​ В2 ставим число​ пакет от Microsoft​ функционирует. Высветилось окошко.​ их ctrl+с и​ а еще можно​ пункт «настройка». Выбрать​ — раз! Все​: Sub Копировать_Отфильтрованное() Dim​http://rghost.ru/38132320​ в столбце…а не​: Уважаемые знающие люди…помогите​ pasterng As Range​ 1000 рублей каждому​ так.​ «значения».​ в первой ячейке​Ещё один способ​ 600, затем копируем​ , а Open​ Но нет «выделить»​ куда нужно ctrl+v​ этот пункт добавить​ его.​ что выше можно​ a As Double​в лист «все​ в нужные отфильтрованные,​ плиз…​ Dim cell As​ «Ашану».​
​Как, не копируя, сразу​Нажимаем «ОК». Вуаля. Скопировалось​ столбца (у нас​ вызвать диалоговое окно​

​ его вниз по​​ Office либо LibreOffice..​

​ArkaIIIa​​solotze​ в меню edit.​3) появится окно​ сделат массивом. Но​ Dim c As​
​ районы» в столбец​ побывал и спецвставкой​
​Суть есть список​ Range, i As​
​Фильтруем наш список Автофильтром,​напечатать данные фильтра в​ не только значение​
​ – Е2) вводим​ «Выделение группы ячеек».​ столбцу (тянем за​А рекомендации вам​:​: так и делаю,​

​solotze​​ «Настройка», там на​ я как-то​ Integer Dim r​ «Т» вставить значения​ с галкой «Пропускать​ из около 2000​
​ Long ‘запрашиваем у​

​ оставляя на экране​​ Excel​ видимых строк, но​ формулу, цифру, т.д.​
​ На закладке «Главная»​ правый нижний угол​ дают по MS​solotze​
​ не активна F5​: как в экселе​ вкладке «Команды» два​с массивами не​ As Integer Dim​ из листа «ИЗНОС»​
​ пустые ячейки». НЕ​ строк с огловлениями​ пользователя по очереди​ только «Ашаны». Вводим​
​, смотрите в статье​ и формат ячеек.​ Нажимаем сочетание клавиш​
​ в разделе «Редактирование»​ ячейки В2). Значения​ Office. По сему​
​Повторно. Не «видя»,​Pelena​ скопировать данные без​ списка.​
​ очень. А так​ i As Integer​ из столбца «N»​ ВЫХОДИТ!!!!​ пустыми строками …​ диапазоны копирования и​ нужное значение в​ «Закладка листа Excel​Есть один нюанс​
​ «Ctrl» + «Enter».​ нажимаем на кнопку​

​ скопировались только в​ у вас и​ что у Вас​: F5 — функциональная​ скрытых ячеек​4) в правом​ — чем мог,​
​ Dim EndRow As​как то так​Гость​ и 15 столбцами​ вставки Set copyrng​ первую ячейку и​ «Разметка страницы»» здесь.​- вставлять отфильтрованные​В Excel ячейки​ «Найти и выделить».​ видимые ячейки. Точно​ нет тех самых​

​ там на экране​​ клавиша на клавиатуре.​нашла вот это​ списке выбрать категорию​ тем помог.​ Integer ‘как работает?​

CyberForum.ru

Копирование в экселе (как скопировать без скрытых ячеек)

​ вот!!!​​: Короче никто не​фильтрую по допустим​ = Application.InputBox(«Диапазон копирования»,​
​ протягиваем (копируем за​ Какие способы есть​​ данные не в​ можно выделить цветом​ В появившемся списке​ также можно вставлять​ меню и кнопок,​ происходит — помочь​​ Как она может​ -​ «Правка»​Olya1985​
​ _ ‘ Выделям​Pelena​
​ знает и никто​
​ 5 столбцу, получаю​
​ «Запрос», Type:=8) Set​
​ правый нижний угол​
​ ещё выделить только​
​ строки, где стоит​
​ по поределенному условию,​
​ нажимаем на функцию​ и формулы. Мы​ о которых говорят​
​ Вам очень трудно.​ быть не активна?​

​Выделяете диапазон — F5​​5) в левом​: хорошо. спасибо!​
​ ячейку с нужным​: Файл пока не​
​ не поможет?!?!?​
​ список из 560​ pasterng = Application.InputBox(«Диапазон​ ячейки) вниз:​
​ видимые строки, особенно​ фильтр. Например, у​ которое мы зададим​
​ «Выделение группы ячеек».​
​ в ячейке С2​ и пишут все​ Надергайте скринов и​ArkaIIIa​ — Выделить —​

​ появится список команд​​Семен Казменко​ значением. Далее ОК.​

​ смотрела, но для​​Serge_007​ строк… в соседний​ вставки», «Запрос», Type:=8)​Умный Excel в данном​

​ если их много.​​ нас в примере​​ условным форматированием и​
​ Чтобы​ пишем такую формулу.​solotze​ приложите к сообщению,​

​:​​ Только видимые ячейки​ этой категории.​: Предложенный Вам вариант​
​ ‘Если фильтр уже​ копировать/вставить этот способ​: Я уже ответил.​
​ столбец ПЫТАЮСЬ вставить​ ‘проверяем, чтобы они​

​ случае понимает, что​​ Как вставить данные​​ — не в​ формулой. Смотрите, как​заполнить видимые ячейки в​ =А2*10​
​: igrtsk,​ может попроще будет​solotze​ — Ок. А​
​6) почти в​ такой заумный. Все​

​ задействован — выделяем​​ действительно не пойдет.​Почему у Вас​ новые данные …​ были одинакового размера​ вы хотите ввести​ в отфильтрованные строки,​ строки 1-7, а​ это сделать, в​

​ выделенных столбцах Excel​​Получилось так.​это я уже​ разобраться.​

​Ну, попробуйте тогда​​ дальше уже копируете,​​ самом конце этого​
​ это можно сделать​ любую видимую ячейку.​Эти две таблицы​ не так -​ и получается что​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​ значения именно в​ смотрите в статье​ ниже или на​

​ статье «Закрасить ячейку​​, нажимаем сочетание клавиш​

​Отменим фильтр. Получилась такая​​ поняла. Так я​solotze​ Сервис-Настройка-Команды, в категории​ как обычно​ (см.п.5) списка кнопка​ простым копированием. Для​ _ ‘ Далее​ ведь как-то связаны​ надо разбираться локально​ вставляются данные во​

​ copyrng.Cells.Count Then MsgBox​​ отфильтрованные ячейки и​ «Вставить в видимые​ другом листе, т.д.​:D

​ по условию в​​ «Ctrl» + D.​ таблица.​

​ смогу как то​​: вот что получается​
​ «Правка» кнопка «Выделить​- но где​ «ВыделитьВидемыеЯчейки»​ этого:​

​ по ходу a​​ между собой, может​​Pelena​​ все по порядку​
​ «Диапазоны копирования и​ делает то, что​​ строки в Excel».​​ Если вставим в​ Excel формулой».​ И все выделенные​Формула и цифры вставились​ сделать такое копирование?​
​_Boroda_​ только видимые ячейки».​ все это найти​7) на нее​1) Выделить нужный​ = InputBox(prompt:=»Введите значение​ формулой попробовать найти​: Я так понимаю​

​ скрытие ячейки, а​​ вставки разного размера!»,vbCritical​
​ нужно:​Весьма распространенная ситуация, вопрос​ строки, где стоит​Отбор данных в​

excelworld.ru

​ столбцы заполнятся данными​

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

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

Заполнение ячеек с отсутствующими значениями стандартными средствами Excel

Заполнение пустых ячеек нулями (Поиск и замена)

1. Выделение пустых ячеек в нужном диапазоне: Вкладка «Главная», группа кнопок «Редактирование», меню кнопки «Найти и выделить», пункт меню «Выделить группу ячеек». В диалоговом окне «Выделить группу ячеек» выбирается опция «Пустые ячейки»;

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

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

Заполнение пустых ячеек нулями (Ctrl+Enter)

1. По аналогии с предыдущим пунктом предварительно выделяются пустые ячейки в нужном диапазоне;

2. Курсор помещается в строку формул и вписывается необходимое значение, например, нуль;

3. Зажимается клавиша Ctrl на клавиатуре, после чего нажимается клавиша Enter.

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

Заполнение пустых ячеек верхними значениями (формула)

1. Пустые ячейки можно заполнить значениями предыдущих ячеек.

2. Выделяются пустые ячейки (также как это описано выше);

3. Курсор помещается в строку формул и ставится знак «равно», после этого указывается адрес вышестоящей ячейки (можно просто кликнуть по нужной ячейке левой кнопкой мыши);

4. Удерживая клавишу Ctrl на клавиатуре нажимается клавиша Enter.

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

Быстрое заполнение пустых ячеек верхними значениями при помощи макроса

Во всех описанных выше способах пустые ячейки, подлежащие заполнению должны быть предварительно выделены, но этого можно и не делать, если использовать процедуру, написанную на VBA. Пример такой процедуры, представлен на странице http://macros-vba.ru/makrosy/excel/266-kak-zapolnit-pustye-yachejki. Макрос проверяет есть ли значения в ячейках выделенного диапазона и заполняет пустые ячейки значениями верхних ячеек в заданном столбце. При необходимости в процедуру можно добавить цикл по столбцам, тогда заполняться будут пустые ячейки выделенной области в нескольких столбцах.

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

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

Надстройка позволяет:

1. Выделять необходимый диапазон для заполнения пустых ячеек значениями соседних ячеек;

2. заполнять пустые ячейки значениями ячеек, находящихся:

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

Заполнение пустых ячеек значениями из соседних ячеек

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

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

Способ 1. Без макросов

Выделяем диапазон ячеек в первом столбце, который надо заполнить (в нашем примере, это A1:A12).

Нажимаем клавишу F5 и затем кнопку Выделить (Special) и в появившемся окне выбираем Выделить пустые ячейки (Blanks) :

Не снимая выделения, вводим в первую ячейку знак «равно» и щелкаем по предыдущей ячейке или жмём стрелку вверх (т.е. создаем ссылку на предыдущую ячейку, другими словами):

И, наконец, чтобы ввести эту формулу сразу во все выделенные (пустые) ячейки нажимаем Ctrl + Enter вместо обычного Enter . И все! Просто и красиво.

В качестве завершающего мазка я советовал бы заменить все созданные формулы на значения, ибо при сортировке или добавлении/удалении строк корректность формул может быть нарушена. Выделите все ячейки в первом столбце, скопируйте и тут же вставьте обратно с помощью Специальной вставки (Paste Special) в контекстом меню, выбрав параметр Значения (Values) . Так будет совсем хорошо.

Способ 2. Заполнение пустых ячеек макросом

Если подобную операцию вам приходится делать часто, то имеем смысл сделать для неё отдельный макрос, чтобы не повторять всю вышеперечисленную цепочку действий вручную. Для этого жмём Alt + F11 или кнопку Visual Basic на вкладке Разработчик (Developer) , чтобы открыть редактор VBA, затем вставляем туда новый пустой модуль через меню Insert — Module и копируем или вводим туда вот такой короткий код:

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

Для удобства, можно назначить этому макросу сочетание клавиш или даже поместить его в Личную Книгу Макросов (Personal Macro Workbook), чтобы этот макрос был доступен при работе в любом вашем файле Excel.

Способ 3. Power Query

Power Query — это очень мощная бесплатная надстройка для Excel от Microsoft, которая может делать с данными почти всё, что угодно — в том числе, легко может решить и нашу задачу по заполнению пустых ячеек в таблице. У этого способа два основных преимущества:

  • Если данных много, то ручной способ с формулами или макросы могут заметно тормозить. Power Query сделает всё гораздо шустрее.
  • При изменении исходных данных достаточно будет просто обновить запрос Power Query. В случае использования первых двух способов — всё делать заново.

Для загрузки нашего диапазона с данными в Power Query ему нужно либо дать имя (через вкладку Формулы — Диспетчер имен), либо превратить в «умную» таблицу командой Главная — Форматировать как таблицу (Home — Format as Table ) или сочетанием клавиш Ctrl + T :

После этого на вкладке Данные (Data) нажмем на кнопку Из таблицы / диапазона (From Table/Range) . Если у вас Excel 2010-2013 и Power Query установлена как отдельная надстройка, то вкладка будет называться, соответственно, Power Query.

В открывшемся редакторе запросов выделим столбец (или несколько столбцов, удерживая Ctrl ) и на вкладке Преобразование выберем команду Заполнить — Заполнить вниз (Transform — Fill — Fill Down) :

Вот и всё 🙂 Осталось готовую таблицу выгрузить обратно на лист Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в. (Home — Close&Load — Close&Load to. )

В дальнейшем, при изменении исходной таблицы, можно просто обновлять запрос правой кнопкой мыши или на вкладке Данные — Обновить всё (Data — Refresh All) .

Заполнение пустых ячеек в excel предыдущим значением

Зачастую мы имеем таблицу в Excel, в которой присутствуют пустые ячейки. Заполнение таких ячеек вручную займет огромное количество времени.

Для заполнения пустых ячеек в таких случаях можно использовать способы, перечисленные ниже.

Способ 1: Заполнение пустых ячеек в Excel с помощью заданного значения

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

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

Шаг 1: Откройте нужный лист Excel, на котором необходимо заполнить пустые ячейки.

Шаг 2: Выберите конкретный столбец, содержащий пустые ячейки.

Шаг 3: Теперь найдите кнопку Найти и выделить в меню Главная и выберите Выделить группу ячеек. Появится окно с различными вариантами. Выберите Пустые ячейки.

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

Таким образом вы можете легко заполнить пустые клетки определенного столбца заданным значением. Это довольно легко сделать, поскольку не требуется какого-либо приложения или программного обеспечения.

Способ 2: Заполнение пустых ячеек в Excel значением, расположенным в ячейке выше

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

Шаг 1: Откройте нужный лист Excel, который содержит пустые ячейки.

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

Шаг 3: Теперь найдите кнопку Найти и выделить в меню Главная и выберите Выделить группу ячеек . Появится окно с различными вариантами. Выберите Пустые ячейки .

Шаг 4: В строке формул наберите знак «=» и укажите ячейку, содержимым которой необходимо заполнить пустые ячейки. Далее нажмите Ctrl + Enter. Вы увидите, что все пустые ячейки заполнились значением ячейки выше. Смотрите скриншоты ниже.

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

Способ 3: Заполнение пустых ячеек Excel со значением выше с помощью макроса VBA

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

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

Шаг 2: Теперь откройте редактор VBA, нажав Alt + F11.

Шаг 3: Щелкните правой кнопкой мыши на любом проекте и перейдите к Insert > Module. После этого вставьте следующий код VBA.

Static rngUR As Range: Set rngUR = ActiveWorkbook.ActiveSheet.UsedRange

Dim rngBlank As Range: Set rngBlank = rngUR.Find(«»)

While Not rngBlank Is Nothing

rngBlank.Value = rngBlank.Offset(-1, 0).Value

Set rngBlank = rngUR.Find(«», rngBlank)

Шаг 4: Теперь сохраните модуль с помощью клавиши Ctrl + S, появившееся диалоговое окно с предупреждением просто проигнорируйте, нажав на кнопку Нет. Теперь вы можете задать сочетание клавиш для выполнения макроса. (меню Разработчик Макросы выберите нужный макрос Параметры Сочетание клавиш (укажите букву).

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

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

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

Как быстро заполнить пустые ячейки значениями из ячеек над ними:

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

Выделяем необходимый для заполнения столбец → на вкладке Главная нажимаем Найти и Выделить → Выделить группу ячеек → В появившемся окне выбираем пустые ячейка → нажимаем «ок»

Таким образом у нас будут выделенные только пустые ячейки. Далее не снимая выделения пишем формулу ссылающююся на верхнее значение = (знак равно) → клацаем по верхней ячейки с значением (или стрелка вверх на клавиатуре) → нажимаем сочетание клавиш Ctrl+Enter

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

Как автоматически заполнить ячейки в MS Excel с большими таблицами

В программе Excel существует много приемов для быстрого и эффективного заполнения ячеек данными. Всем известно, что лень – это двигатель прогресса. Знают об этом и разработчики.

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

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

Как в Excel заполнить ячейки одинаковыми значениями?

Сначала рассмотрим, как автоматически заполнять ячейки в Excel. Для примера заполним наполовину незаполненную исходную таблицу.

Это небольшая табличка только на примере и ее можно было заполнить вручную. Но в практике иногда приходится заполнять по 30 тысяч строк. Чтобы не заполнять эту исходную таблицу вручную следует создать формулу для заполнения в Excel данными – автоматически. Для этого следует выполнить ряд последовательных действий:

  1. Перейдите на любую пустую ячейку исходной таблицы.
  2. Выберите инструмент: «Главная»-«Найти и выделить»-«Перейти» (или нажмите горячие клавиши CTRL+G).
  3. В появившемся окне щелкните на кнопку «Выделить».
  4. В появившемся окне выберите опцию «пустые ячейки» и нажмите ОК. Все незаполненные ячейки выделены.
  5. Теперь введите формулу «=A1» и нажмите комбинацию клавиш CTRL+Enter. Так выполняется заполнение пустых ячеек в Excel предыдущим значением – автоматически.
  6. Выделите колонки A:B и скопируйте их содержимое.
  7. Выберите инструмент: «Главная»-«Вставить»-«Специальная вставка» (или нажмите CTRL+ALT+V).
  8. В появившемся окне выберите опцию «значения» и нажмите Ок. Теперь исходная таблица заполнена не просто формулами, а естественными значениями ячеек.

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

Внимание! В 5-том пункте таблица красиво заполнилась без ошибок, так как наша активная ячейка была по адресу A2, после выполнения 4-го пункта. При использовании данного метода будьте внимательны и следите за тем где находится активная ячейка после выделения. Важно откуда она будет брать свои значения.

Полуавтоматическое заполнение ячеек в Excel из выпадающего списка

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

В новой исходной таблице автоматически заполните колонки C и D соответствующие им данными.

  1. Заполните заголовки колонок C1 – «Дата» и D1 – «Тип платежа».
  2. В ячейку C2 введите дату 18.07.2015
  3. В ячейках С2:С4 даты повторяются. Поэтому выделяем диапазон С2:С4 и нажимаем комбинацию клавиш CTRL+D, чтобы автоматически заполнить ячейки предыдущими значениями.
  4. Введите текущею дату в ячейку C5. Для этого нажмите комбинацию клавиш CTRL+; (точка с запятой на английской раскладке клавиатуры). Заполните текущими датами колонку C до конца таблицы.
  5. Диапазон ячеек D2:D4 заполните так как показано ниже на рисунке.
  6. В ячейке D5 введите первую буку «п», а дальше слово заполнят не надо. Достаточно нажать клавишу Enter.
  7. В ячейке D6 после ввода первой буквы «н» не отображается часть слова для авто-заполнения. Поэтому нажмите комбинацию ALT+(стрела вниз), чтобы появился выпадающий список. Выберите стрелками клавиатуры или указателем мышки значение «наличными в кассе» и нажмите Enter.

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

Внимание! Если значение состоит из нескольких строк, то при нажатии на комбинацию ALT+(стрела вниз) оно не будет отображаться в выпадающем списке значений.

Разбить значение на строки можно с помощью комбинации клавиш ALT+Enter. Таким образом, текст делится на строки в рамках одной ячейки.

Примечание. Обратите внимание, как мы вводили текущую дату в пункте 4 с помощью горячих клавиш (CTRL+;). Это очень удобно! А при нажатии CTRL+SHIFT+; мы получаем текущее время.

Содержание

  1. Функция ВПР в Экселе – быстрый перенос данных
  2. Видео — «Быстрый перенос данных с помощью функции ВПР в Экселе»
  3. Функция ВПР в Экселе: пошаговая инструкция
  4. Особенности использования формулы ВПР в Excel
  5. Интервальный просмотр в функции ВПР
  6. Синтаксис и описание функции ВПР в Excel
  7. Как использовать именованный диапазон или таблицу в формулах ВПР
  8. Функция ВПР в Excel – Присвоение имени диапазону
  9. Функция ВПР в Excel – Пример функции ВПР с именем диапазона
  10. Функция ВПР в Excel – Пример функции ВПР с именем таблицы
  11. Постановка задачи
  12. Ошибки #Н/Д и их подавление
  13. Аргументы функции
  14. Как пользоваться функцией ВПР в Excel
  15. Быстрое сравнение двух таблиц с помощью ВПР
  16. Как работает функция ВПР в Excel: несколько примеров для «чайников».
  17. Использование точного и приблизительного поиска.
  18. Использование нескольких условий.
  19. Заключение

Функция ВПР в Экселе – быстрый перенос данных

Самое простое применение функция ВПР это быстрый перенос данных из одной таблицы в другую.

Например, у вас есть большой прайс на 500 позиций и запрос от покупателя, скажем на 50 позиций (в реальности и прайс и запрос могут быть гораздо больше, но принцип от этого не меняется).

Вам нужно быстро найти цены на эти 50 позиций. Разумеется, можно отдельно искать каждую позицию в большом прайсе и потратить на это 30 – 60 минут, а можно сделать это менее чем за минуту при помощи функции ВПР.

Итак, у нас в прайсе 500 позиций. Позиции обозначаются следующим образом, буквами обозначается вид позиции, а цифрами модификация.

Например, «Стул_1» и «Стул_21» это два совершенно разных стула.

Цены в прайсе указаны для примера и вряд ли имеют отношение к реальным ценам.

Обозначим задачу.

В ООО «ЫкэА» пришел запрос от «Петровича».

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

Однако это нас не страшит, во-первых, у нас есть ВПР, во-вторых мы и не такое видали.

Петрович требует, чтобы мы очень быстро проставили цены в его запросе. Ждать он намерен максимум 5 минут. Ведь другие поставщики уже завалили его предложениями.

Нам не хочется терять такого клиента и мы практически мгновенно открываем прайс:

Получается у нас должно быть открыто два файла (две книги в Эксель). Запрос от Петровича и Прайс.

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

Для этого перейдем в таблицу запроса и в первой ячейке столбца «Цены» (D4) введем «=впр» и два раза кликнем на значок функции:

Сразу же после этого, в строке формулы нужно поставить курсор внутри надписи ВПР и нажать Fx, перед вами появится окно с аргументами функции ВПР:

В аргументах функции вы говорите Экселю что и где нужно искать:

Искомое значение — это значение (в данном случае наименование), цену которого вы хотите найти в прайсе. Соответственно кликайте на первую ячейку столбца «Наименование».

Далее, сразу переходите в «Прайс»:

Теперь в аргументах функции заполните следующие поля:

Таблица — выделяете столбцы, которые содержат искомые наименования и цены, таким образом, чтобы наименования были крайним левым столбцом.

Так работает функция ВПР — ищет искомые значения в крайнем левом столбце (для ВПР это столбец №1). Когда ВПР находит искомое значение он начинает смотреть правее, в тот столбец, который вы указали в «Номере столбца».

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

Интервальный просмотр — ставьте 0. Ноль обозначает точное соответствие.

После заполнения аргументов функции нажимайте «Ок» и если всё сделано верно, то в столбце «Цена» (файл «Запрос от Петровича»), появится цена.

Вам нужно протянуть цены на оставшиеся ячейки:

Коллеги, вот и всё, вы овладели функцией ВПР.

Очень важное замечание!

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

Когда работа идёт в двух разных книгах, Эксель автоматически закрепляет таблицу в функции ВПР:

Делает это он при помощи значка $, который проставляет перед столбцами и строками таблицы.

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

Давайте посмотрим что получиться если протянуть формулу «без закрепления»:

Обратите внимание, что для первой ячейки всё в порядке и диапазон B3:C502 точно соответствует той таблице, которую мы выделили для поиска данных, однако (без закрепления) так будет не всегда, по мере «протягивания» формулы ВПР вниз, будет смещаться и таблица, пока однажды, мы не увидим вот такую странную надпись #Н/Д:

#Н/Д значит что функция ВПР не смогла найти цену Стул_13 в прайсе и это не мудрено, ведь диапазон таблицы в формуле ВПР уехал ниже этого значения:

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

Очень важное замечание №2

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

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

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

Для этого нужно выделить столбец с формулами, нажать Ctrl+C и в левом верхнем углу выбрать «Вставить» — «Вставить значения».

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

Видео — «Быстрый перенос данных с помощью функции ВПР в Экселе»

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

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

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

Всё ли есть в счёте, в нужном ли количестве, по правильным ли ценам и т.д.

Функция ВПР в Экселе: пошаговая инструкция

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

Во второй – цены:

Если перечень товаров в обеих таблицах совпадает, то, зная магическое сочетание Ctrl+C и Ctrl+V, данные о ценах можно легко подставить к данным о количестве. Однако очередность позиций в обеих таблицах не совпадает. Тупо скопировать цены и подставить к количеству не получится.

Поэтому мы не можем прописать формулу умножения и «протянуть» вниз на все позиции.

Что делать? Надо как-то цены из второй таблицы подставить к соответствующему количеству в первой, т.е. цену товара А к количеству товара А, цену Б к количеству Б и т.д.

Вот так.

Функция ВПР в Эксель легко справится с задачей.

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

Для вызова функции с помощью Мастера нужно активировать ячейку, где будет прописана формула и нажать кнопку f(x) в самом начале строки формул. Появится диалоговое окно Мастера, где из списка всех функций нужно выбрать ВПР.

Кликаем по надписи «ВПР». Открывается следующее диалоговое окно.

Теперь нужно заполнить предлагаемые поля. В первом окошке «Искомое_значение» нужно указать критерий для ячейки, в которую мы вписываем формулу. В нашем случае это ячейка с наименованием товара «А».

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

Следующее поле «Номер_столбца» — это число, на которое столбец с искомыми данными (ценами) отстоит от столбца с критерием (наименованием товара) включительно. То есть отсчет идет, начиная с самого столбца с критерием. Если у нас во второй таблице оба столбца находятся рядом, то нужно указать число 2 (первый – критерий, второй — цены). Часто бывает, что данные отстоят от критерия на 10 или 20 столбцов. Это не важно, Excel все сосчитает.

Последнее поле «Интервальный_просмотр», где указывается тип поиска: точное (0) или приблизительное (1) совпадение критерия. Пока ставим 0 (или ЛОЖЬ). Второй вариант рассмотрен ниже.

Нажимаем ОК. Если все правильно и значение критерия есть в обеих таблицах, то на месте только что введенной формулы появится некоторое значение. Остается только протянуть (или просто скопировать) формулу вниз до последней строки таблицы.

Теперь легко рассчитать стоимость простым умножением количества на цену.

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

Функция ВПР имеет свои особенности, о которых следует знать.

1. Первую особенность можно считать общей для функций, которые используются для многих ячеек путем прописывания формулы в одной из них и дальнейшим копированием в остальные. Здесь нужно обращать внимание на относительность и абсолютность ссылок. Конкретно в ВПР критерий (первое поле) должно иметь относительную ссылку (без знаков $), так как у каждой ячейки свой собственный критерий. А вот поле «Таблица» должно иметь абсолютную ссылку (адрес диапазона прописывается через $). Если этого не сделать, то при копировании формулы диапазон «поедет» вниз и многие значения просто не найдутся, так как искать будет негде.

2. Номер столбца, указываемый в третьем поле «Номер_столбца» при использовании Мастера функций, должен отсчитываться, начиная с самого критерия.

3. Функция ВПР из диапазона с искомыми данными выдает первое сверху значение. Это значит, что, если во второй таблице, откуда мы пытаемся «подтянуть» некоторые данные, присутствуют несколько ячеек с одинаковым критерием, то в рамках выделенного диапазона ВПР захватит первое сверху значение. Об этом следует помнить. К примеру, если мы хотим к цене товара подтянуть количество из другой таблицы, а там этот товар встречается несколько раз (в нескольких строках), то к цене подтянется первое сверху количество.

4. Последний параметр формулы, который 0 (нуль), ставить нужно обязательно. Иначе формула может криво работать.

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

После вызова функции разрывания внешних связей появится диалоговое окно, где нужно нажать кнопку «Разорвать связь» и затем «Закрыть».

Это позволит удалить сразу все внешние ссылки.

Интервальный просмотр в функции ВПР

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

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

Проще понять на примере. По результатам выполнения плана продаж каждому торговому агенту нужно выдать заслуженную премию (в процентах от оклада). Если план выполнен менее, чем на 100%, премия не положена, если план выполнен от 100% до 110% (110% не входит) – премия 20%, от 110% до 120% (120% не входит) – 40%, 120% и более – премия 60%. Данные находятся в следующем виде.

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

=ВПР(B2;$E$2:$F$5;2;1)

и скопируем вниз.

На рисунке ниже изображена схема, как работает интервальный просмотр функции ВПР.

Джеки Чан выполнил план на 124%. Значит ВПР в качестве критерия ищет во второй таблице ближайшее меньшее значение. Это 120%. Затем отсчитывает 2 столбца и возвращает премию 60%. Брюс Ли план не выполнил, поэтому его ближайший меньший критерий – 0%.

Синтаксис и описание функции ВПР в Excel

Итак, так как второе название этой статьи «Функция ВПР в Excel для чайников», начнем с того что узнаем, что же такое функция ВПР и что она делает? Функция ВПР на английском VLOOKUP, ищет указанное значение и возвращает соответствующее значение из другого столбца.

Как работает функция ВПР? Функция ВПР в Excel выполняет поиск по вашим спискам данных на основе уникального идентификатора и предоставляет вам часть информации, связанную с этим уникальным идентификатором.

Буква «В» в ВПР означает «вертикальный». Она используется для дифференциации функции ВПР и ГПР, которая ищет значение в верхней строке массива («Г» обозначает «горизонтальный»).

Функция ВПР доступна во всех версиях Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003.

Синтаксис функции ВПР выглядит следующим образом:

ВПР(искомое_значение;таблица;номер_столбца;[интервальный_просмотр])

Как видите, функция ВПР имеет 4 параметра или аргумента. Первые три параметра обязательные, последний – необязательный.

  1. искомое_значение – это значение для поиска.

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

  • Поиск числа: =ВПР(40; A2:B15; 2) – формула будет искать число 40.
  • Поиск текста: =ВПР(«яблоки»; A2:B15; 2) – формула будет искать текст «яблоки». Обратите внимание, что вы всегда включаете текстовые значения в «двойные кавычки».
  • Поиск значения из другой ячейки: =ВПР(C2; A2:B15; 2) – формула будет искать значение в ячейке C2.
  1. таблица – это два или более столбца данных.

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

Итак, наша формула =ВПР(40; A2:B15; 2) будет искать «40» в ячейках от A2 до A15, потому что A – это первый столбец таблицы A2: B15.

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

Самый левый столбец в указанной таблице равен 1, второй столбец – 2, третий – 3 и т. д.

Итак, теперь вы можете прочитать всю формулу =ВПР(40; A2:B15; 2). Формула ищет «40» в ячейках от A2 до A15 и возвращает соответствующее значение из столбца B (потому что B является вторым столбцом в указанной таблице A2:B15).

4. интервальный_просмотр определяет, ищете ли вы точное соответствие (ЛОЖЬ) или приблизительное соответствие (ИСТИНА или опущено). Этот последний параметр является необязательным, но очень важным.

Как использовать именованный диапазон или таблицу в формулах ВПР

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

Чтобы создать именованный диапазон, просто выберите ячейки и введите любое имя в поле «Имя», слева от панели «Формула».

Функция ВПР в Excel – Присвоение имени диапазону

Теперь вы можете написать следующую формулу ВПР, чтобы получить цену Продукта 1:

=ВПР(«Продукт 1»;Продукты;2)

Функция ВПР в Excel – Пример функции ВПР с именем диапазона

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

Если вы преобразовали диапазон ячеек в полнофункциональную таблицу Excel (вкладка «Вставка» –> «Таблица»), вы можете выбрать диапазон поиска с помощью мыши, а Microsoft Excel автоматически добавит имена колонок или имя таблицы в формулу:

Функция ВПР в Excel – Пример функции ВПР с именем таблицы

Полная формула может выглядеть примерно так:

=ВПР(“Продукт 1”;Таблица6[[Продукт]:[Цена]];2)

или даже =ВПР(“Продукт 1”;Таблица6;2).

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

Постановка задачи

Итак, имеем две таблицы – таблицу заказов и прайс-лист:

Задача – подставить цены из прайс-листа в таблицу заказов автоматически, ориентируясь на название товара с тем, чтобы потом можно было посчитать стоимость.

Ошибки #Н/Д и их подавление

Функция ВПР (VLOOKUP) возвращает ошибку #Н/Д (#N/A) если:

  • Включен точный поиск (аргумент Интервальный просмотр=0) и искомого наименования нет в Таблице.
  • Включен приблизительный поиск (Интервальный просмотр=1), но Таблица, в которой происходит поиск не отсортирована по возрастанию наименований.
  • Формат ячейки, откуда берется искомое значение наименования (например B3 в нашем случае) и формат ячеек первого столбца (F3:F19) таблицы отличаются (например, числовой и текстовый). Этот случай особенно характерен при использовании вместо текстовых наименований числовых кодов (номера счетов, идентификаторы, даты и т.п.) В этом случае можно использовать функции Ч и ТЕКСТ для преобразования форматов данных. Выглядеть это будет примерно так:
    =ВПР(ТЕКСТ(B3);прайс;0)
  • Функция не может найти нужного значения, потому что в коде присутствуют пробелы или невидимые непечатаемые знаки (перенос строки и т.п.). В этом случае можно использовать текстовые функции СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) для их удаления:
    =ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(B3));прайс;0)
    =VLOOKUP(TRIM(CLEAN(B3));прайс;0)

Для подавления сообщения об ошибке #Н/Д (#N/A) в тех случаях, когда функция не может найти точно соответствия, можно воспользоваться функцией ЕСЛИОШИБКА (IFERROR). Так, например, вот такая конструкция перехватывает любые ошибки создаваемые ВПР и заменяет их нулями:

=ЕСЛИОШИБКА(ВПР(B3;прайс;2;0);0)

=IFERROR(VLOOKUP(B3;прайс;2;0);0)

Аргументы функции

  • lookup_value (искомое_значение) – это величина для поиска, из крайнего левого столбца таблицы. Это может быть значение, ссылка на ячейку или текстовая строка. В примере со студентами это их фамилии;
  • table_array (таблица) – это диапазон данных, в котором будет осуществлен поиск. Это может быть ссылка на диапазон ячеек или именованный диапазон. В примере с таблицей со студентами, это будет вся таблица, которая содержит оценку и фамилии студентов;
  • col_index (номер_столбца) – это порядковый номер столбца в диапазоне с данными, из которого будет получена искомая величина;
  • [range lookup] ([интервальный_просмотр]) – этот аргумент указывает на точность совпадения данных при поиске. Укажите “0” – если точное, “1” – если приблизительное совпадение.

Как пользоваться функцией ВПР в Excel

Допустим, на склад предприятия по производству тары и упаковки поступили материалы в определенном количестве.

Стоимость материалов – в прайс-листе. Это отдельная таблица.

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

Алгоритм действий:

  1. Приведем первую таблицу в нужный нам вид. Добавим столбцы «Цена» и «Стоимость/Сумма». Установим денежный формат для новых ячеек.
  2. Выделяем первую ячейку в столбце «Цена». В нашем примере – D2. Вызываем «Мастер функций» с помощью кнопки «fx» (в начале строки формул) или нажав комбинацию горячих клавиш SHIFT+F3. В категории «Ссылки и массивы» находим функцию ВПР и жмем ОК. Данную функцию можно вызвать перейдя по закладке «Формулы» и выбрать из выпадающего списка «Ссылки и массивы».
  3. Откроется окно с аргументами функции. В поле «Искомое значение» – диапазон данных первого столбца из таблицы с количеством поступивших материалов. Это те значения, которые Excel должен найти во второй таблице.
  4. Следующий аргумент – «Таблица». Это наш прайс-лист. Ставим курсор в поле аргумента. Переходим на лист с ценами. Выделяем диапазон с наименованием материалов и ценами. Показываем, какие значения функция должна сопоставить.
  5. Чтобы Excel ссылался непосредственно на эти данные, ссылку нужно зафиксировать. Выделяем значение поля «Таблица» и нажимаем F4. Появляется значок $.
  6. В поле аргумента «Номер столбца» ставим цифру «2». Здесь находятся данные, которые нужно «подтянуть» в первую таблицу. «Интервальный просмотр» – ЛОЖЬ. Т.к. нам нужны точные, а не приблизительные значения.

Нажимаем ОК. А затем «размножаем» функцию по всему столбцу: цепляем мышью правый нижний угол и тянем вниз. Получаем необходимый результат.

Теперь найти стоимость материалов не составит труда: количество * цену.

Функция ВПР связала две таблицы. Если поменяется прайс, то и изменится стоимость поступивших на склад материалов (сегодня поступивших). Чтобы этого избежать, воспользуйтесь «Специальной вставкой».

  1. Выделяем столбец со вставленными ценами.
  2. Правая кнопка мыши – «Копировать».
  3. Не снимая выделения, правая кнопка мыши – «Специальная вставка».
  4. Поставить галочку напротив «Значения». ОК.

Формула в ячейках исчезнет. Останутся только значения.

Быстрое сравнение двух таблиц с помощью ВПР

Функция помогает сопоставить значения в огромных таблицах. Допустим, поменялся прайс. Нам нужно сравнить старые цены с новыми ценами.

  1. В старом прайсе делаем столбец «Новая цена».
  2. Выделяем первую ячейку и выбираем функцию ВПР. Задаем аргументы (см. выше). Для нашего примера: . Это значит, что нужно взять наименование материала из диапазона А2:А15, посмотреть его в «Новом прайсе» в столбце А. Затем взять данные из второго столбца нового прайса (новую цену) и подставить их в ячейку С2.

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

Как работает функция ВПР в Excel: несколько примеров для «чайников».

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

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

Использование точного и приблизительного поиска.

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

Обратите внимание, что четвертый параметр равен 1.

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

Поиск цены на египетские бананы закончился на первой же позиции, так как во второй записаны сливы. А это слово по правилам алфавита стоит ниже, чем «Бананы Египет». Значит, дальше искать не нужно. Получили 145. И не важно, что это цена абрикосов. Поиск цены на сливы происходил до тех пор, пока в D15 не встретилось слово, которое по алфавиту стоит ниже: яблоки. Остановились и взяли цену из предыдущей строки.

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

Вы спросите: «А зачем тогда этот неточный просмотр, если с ним столько проблем?»

Он отлично подходит для выбора значений из определенных интервалов.

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

Если у нас количество товара 11 единиц, то мы просматриваем столбец D до тех пор, пока не встретим число, большее 11. Это 20 и находится оно в 4-й строке. Останавливаемся здесь. Значит, наша скидка расположена в 3-й строке и равна 3%.

Использование нескольких условий.

Еще один простой пример для «чайников» – как использовать при выборе нужного значения несколько условий?

Предположим, у нас есть список имен и фамилий. Нам нужно найти нужного человека и вывести сумму его дохода.

В F2 используем следующую формулу:

=ВПР(D2&” “&E2;$A$2:$B$21;2;0)

Разберем пошагово, как в этом случае работает ВПР.

В начале мы формируем условие. Для этого при помощи оператора & «склеиваем» вместе имя и фамилию, а между ними вставляем пробел.

Не забываем при этом пробел заключить в кавычки, иначе Excel не воспримет его как текст.

Затем в таблице с доходами ищем ячейку с именем и фамилией, разделенными пробелом.

Дальше все происходит по уже отработанной схеме.

Можно попробовать подстраховаться на тот случай, если между именем и фамилией введено несколько пробелов. Знак пробела в формуле заменяем на знак подстановки «*».

Приметно так – D2&”*”&E2

Заключение

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

Источники

  • https://pavel-istomin.ru/funkciya-vpr-v-eksele/
  • https://statanaliz.info/excel/funktsii-i-formuly/funktsiya-excel-vpr-vlookup-i-gpr-hlookup/
  • https://naprimerax.org/funktciia-vpr-v-excel
  • https://www.planetaexcel.ru/techniques/2/106/
  • https://excelhack.ru/funkciya-vlookup-vpr-v-excel/
  • https://exceltable.com/funkcii-excel/funkciya-vpr-v-excel
  • https://mister-office.ru/funktsii-excel/vlookup-excel-5-example.html
  • https://MicroExcel.ru/funkcziya-vpr/

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel добавить значение в раскрывающемся списке
  • Excel добавить знак минуса
  • Excel добавить знак в каждой строке
  • Excel добавить запятую в конце ячейки
  • Excel для тсж скачать

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии