Поиск значения в другом файле excel

Хитрости »

15 Май 2011              512324 просмотров


Как найти значение в другой таблице или сила ВПР

  • Задача и её решение при помощи ВПР
  • Описание аргументов ВПР
  • Что важно всегда помнить при работе с ВПР
  • Как избежать ошибки #Н/Д(#N/A) в ВПР?
  • Как при помощи ВПР искать значение по строке, а не столбцу?
  • Решение при помощи ПОИСКПОЗ
  • Работа с критериями длиннее 255 символов
Задача и её решение при помощи ВПР

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

рис.1

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

C2

второй таблицы(туда, куда необходимо подставить даты из первой таблицы) такую формулу:

=ВПР($A2;Лист1!$A$1:$C$4;3;0)
=VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)

Записать формулу можно либо непосредственно в ячейку, либо воспользовавшись диспетчером функций, выбрав в категории Ссылки и массивы(References & Arrays) функцию ВПР(VLOOKUP) и по отдельности указав нужные критерии. Теперь копируем(

Ctrl

+

C

) ячейку с формулой(С2), выделяем все ячейки столбца

С

до конца данных и вставляем(

Ctrl

+

V

).

Теперь разберем поподробнее саму функцию, её аргументы и некоторые особенности.
ВПР ищет заданное нами значение(аргумент искомое_значение) в первом столбце указанного диапазона(аргумент таблица). Поиск значения всегда происходит сверху вниз(собственно, поэтому функция и называется ВПР: Вертикальный ПРосмотр). Как только функция находит заданное значение — поиск прекращается, ВПР берет строку с найденным значением и смотрит на аргумент номер_столбца. Именно из этого столбца берётся значение, которое мы и видим как итог работы функции. Т.е. в нашем конкретном случае, для ячейки С2 второй таблицы, функция берет фамилию «Петров С.А.»(ячейка $A2 второй таблицы) и ищет её в первом столбце указанной таблицы(Лист1!$A$1:$C$4), т.е. в столбце А. Как только находит(это ячейка А3)

ВПР может вернуть только одно значений — первое, подходящее под критерий. Если искомое значение не найдено(отсутствует в таблице), то результатом функции будет ошибка #Н/Д(#N/A). Не надо этого бояться — это даже полезно. Вы точно будете знать, каких записей нет и таким образом можете сравнивать две таблицы друг с другом. Иногда получается так, что Вы видите: данные есть в обеих таблицах, но ВПР выдает #Н/Д. Значит данные в Ваших таблицах не идентичны. В какой-то из них есть лишние неприметные пробелы(обычно перед значением или после), либо знаки кириллицы перемешаны со знаками латиницы. Так же #Н/Д будет, если критерии числа и в искомой таблице они записаны как текст(как правило в левом верхнем углу такой ячейки появляется зеленый треугольничек), а в итоговой — как числа. Или наоборот.


Описание аргументов ВПР

  • Искомое_значение($A2) — это то значение из одной таблицы, которые мы ищем в другой таблице. Т.е. для первой записи второй таблицы это будет Петров С.А.. Здесь можно указать либо непосредственно текст критерия(в этом случае он должен быть в кавычках — =ВПР(«Петров С.А»;Лист1!$A$1:$C$4;3;0), либо ссылку на ячейку, с данным текстом(как в примере функции). Есть небольшой нюанс: так же можно применять символы подстановки: «*» и «?». Это очень удобно, если необходимо найти значения лишь по части строки. Например, можно не вводить полностью «Петров С.А», а ввести лишь фамилию и знак звездочки — «Петров*». Тогда будет выведена любая запись, которая начинается на «Петров». Если же надо найти запись, в которой в любом месте строки встречается фамилия «Петров», то можно указать так: «*петров*». Если хотите найти фамилию Петров и неважно какие инициалы будут у имени-отчества(если ФИО записаны в виде Иванов И.И.), то здесь в самый раз такой вид: «Иванов ?.?.».
    Часто необходимо для каждой строки указать свое значение(в столбце А Фамилии и надо их все найти). В таком случае всегда указываются ссылки на ячейки столбца А. Например, в ячейке A2 записано: Иванов. Так же известно, что Иванов есть в другой таблице, но после фамилии могут быть записаны и имя и отчество(или еще что-то). Но нам нужно найти только строку, которая начинается на фамилию. Тогда необходимо записать следующим образом: A2&»*». Эта запись будет равнозначна «Иванов*». В A2 записано Иванов, амперсанд(&) используется для объединения в одну строку двух текстовых значений. Звездочка в кавычках (как и положено быть тексту внутри формулы). Таким образом и получаем:
    A2&»*» =>
    «Иванов»&»*» =>
    «Иванов*»
    А полная формула в итоге будет выглядеть так: =ВПР(A2&»*»;Лист1!$A$1:$C$4;3;0)
    Очень удобно, если значений для поиска много.
    Если надо определить есть ли хоть где-то слово в строке, то звездочки ставим с обеих сторон: «*»&A1&»*»
  • Таблица(Лист1!$A$1:$C$4) — указывается диапазон ячеек, в первом столбце которых будет просматриваться аргумент Искомое_значение. Диапазон должен содержать данные от первой ячейки с данными до самой последней. Это не обязательно должен быть указанный в примере диапазон. Если строк 100, то Лист1!$A$2:$C$100. Диапазон в аргументе таблица всегда должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4).
  • Номер_столбца(3) — указывается номер столбца в аргументе Таблица, значения из которого нам необходимо записать в итоговую ячейку в качестве результата. В примере это Дата принятия — т.е. столбец №3. Если бы нужен был отдел, то необходимо было бы указать номер столбца 2, а если бы нам понадобилось просто сравнить есть ли фамилии одной таблицы в другой, то можно было бы указать и 1. Номер столбца всегда указывается числом и не должен быть больше числа столбцов в аргументе Таблица.

    если аргумент Таблица имеет слишком большое кол-во столбцов и необходимо вернуть результат из последнего столбца, то совсем необязательно высчитывать их количество. Можно использовать формулу, которая подсчитывает количество столбцов в указанном диапазоне:  =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ(Лист1!$A$1:$C$4);0). К слову в данном случае Лист1! тоже можно убрать, т.к. функция ЧИСЛОСТОЛБ просто подсчитывает количество столбцов в переданном ей диапазоне и неважно на каком он листе: =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ($A$1:$C$4);0).

  • Интервальный_просмотр(0) — очень интересный аргумент. Может быть равен либо ИСТИНА либо ЛОЖЬ. Так же допускается указать 1 или 0. 1 = ИСТИНА, 0 = ЛОЖЬ. Если в ВПР указать данный параметр равный 0 или ЛОЖЬ, то будет происходить поиск точного соответствия заданному Искомому_значению. Это не имеет никакого отношения к знакам подстановки(«*» и «?»). Если же использовать 1 или ИСТИНА, то…Совсем в двух словах не объяснить. Если вкратце — ВПР будет искать наиболее похожее значение, подходящее под Искомомое_значение. Иногда очень полезно. Правда, если использовать данный параметр, то необходимо, чтобы список в аргументе Таблица был отсортирован по возрастанию. Обращаю внимание на то, что сортировка необходима только в том случае, если аргумент Интервальный_просмотр равен ИСТИНА или 1. Если же 0 или ЛОЖЬ — сортировка не нужна. Этот аргумент необходимо использовать осторожно — не стоит указывать 1 или ИСТИНА, если нужно найти точное соответствие и уж тем более не стоит использовать, если не понимаете принцип его работы.
    Подробнее про работу ВПР с интервальным просмотром, равным 1 или ИСТИНА можно ознакомиться в статье ВПР и интервальный просмотр(range_lookup)

При работе с ВПР всегда важно помнить три вещи:
  • Таблица всегда должна начинаться с того столбца, в котором ищем Искомое_значение. Т.е. ВПР не умеет искать значение во втором столбце таблицы, а значение возвращать из первого. В лучшем случае ничего найдено не будет и получим ошибку #Н/Д(#N/A), а в худшем результат будет совсем не тот, который должен быть
  • аргумент Таблица должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4). Это и есть закрепление(если точнее, то это называется абсолютной ссылкой на диапазон). Как это делается. Выделяете текст ссылки и жмете клавишу F4 до тех пор, пока не увидите, что и перед обозначением имени столбца и перед номером строки не появились доллары. Если этого не сделать, то при копировании формулы из одной ячейки в остальные аргумент Таблица будет «съезжать» и результат может быть совсем не таким, какой ожидался(в лучшем случае получите ошибку #Н/Д(#N/A)
  • номер_столбца не должен превышать общее кол-во столбцов в аргументе таблица, а сама Таблица соответственно должна содержать столбцы от первого(в котором ищем) до последнего(из которого необходимо возвращать значения). В примере указана Лист1!$A$1:$C$4 — всего 3 столбца(A, B, C). Значит не получится вернуть значение из столбца D(4), т.к. в таблице только три столбца. Т.е. если мы запишем формулу так: =ВПР($A2;Лист1!$A$1:$C$4;4;0) — мы получим ошибку #ССЫЛКА!(#REF!).
    Если аргументом Таблица указан диапазон $B$1:$C$4 и необходимо вернуть данные из столбца С, то правильно будет указать номер столбца 2. Т.к. аргумент Таблица($B$1:$C$4) содержит только два столбца — В и С. Если же попытаться указать номер столбца 3(каким по счету он является на листе), то получим ошибку #ССЫЛКА!(#REF!), т.к. третьего столбца в указанном диапазоне просто нет.

Многие наверняка заметили, что на картинке у меня попутаны отделы для ФИО(в обеих таблицах ФИО относятся к разным отделам). Это не ошибка записи. В прилагаемом к статье примере показано, как можно одной формулой подставить и отделы и даты, не меняя вручную аргумент Номер_столбца: =ВПР($A2;Лист1!$A$1:$C$4;СТОЛБЕЦ();0). Такой подход сработает, если в обеих таблицах одинаковый порядок столбцов.


Как избежать ошибки #Н/Д(#N/A) в ВПР?

 
Еще частая проблема — многие не хотят видеть #Н/Д результатом, если совпадение не найдено. Это можно обойти при помощи специальных функций.
Для пользователей Excel 2003 и старше:

=ЕСЛИ(ЕНД(ВПР($A2;Лист1!$A$1:$C$4;3;0));»»;ВПР($A2;Лист1!$A$1:$C$4;3;0))
=IF(ISNA(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)),»»,VLOOKUP($A2,Лист1!$A$1:$C$4,3,0))

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

ЕСЛИОШИБКА(IFERROR)

:

=ЕСЛИОШИБКА(ВПР($A2;Лист1!$A$1:$C$4;3;0);»»)
=IFERROR(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0);»»)

Подробнее про различие между использованием ЕСЛИ(ЕНД и ЕСЛИОШИБКА я разбирал в статье: Как в ячейке с формулой вместо ошибки показать 0
Но я бы не рекомендовал использовать

ЕСЛИОШИБКА(IFERROR)

, не убедившись, что ошибки появляются только для реально отсутствующих значений. Иногда ВПР может вернуть #Н/Д и в других ситуациях:

  • искомое значение состоит более чем из 255 символов(решение этой проблемы приведено ниже в этой статье: Работа с критериями длиннее 255 символов)
  • искомое значение является числом с большим кол-вом знаков после запятой. Excel не может правильно воспринимать такие числа и в итоге ВПР может вернуть ошибку. Правильным решением здесь будет округлить искомое значение хотя бы до 4-х или 5-ти знаков после запятой(конечно, если это допустимо):
    =ВПР(ОКРУГЛ($A2;5);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(ROUND($A2,2),Лист1!$A$1:$C$4,3,0)
  • искомое значение содержит специальные или непечатаемые символы.
    В этом случае придется либо избавиться от непечатаемых символов в искомом аргументе:
    =ВПР(ПЕЧСИМВ($A2);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(CLEAN($A2),Лист1!$A$1:$C$4,3,0)
    либо добавить перед всеми специальными символами(такими как звездочка или вопр.знак) знак тильды(~), чтобы сделать эти знаки просто знаками, а не знаками специального значения(так же работа со специальными(служебными) символами описывалась в статье: Как заменить/удалить/найти звездочку). Добавить символ перед знаком той же тильды можно при помощи функции ПОДСТАВИТЬ(SUBSTITUTE):
    =ВПР(ПОДСТАВИТЬ($A2;»~»;»~~»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(A2,»~»,»~~»),Лист1!$A$1:$C$4,3,0)
    Если необходимо добавить тильду сразу перед несколькими знаками, то делает это обычно так(на примере подстановки одновременно для тильды и звездочки):
    =ВПР(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A2;»~»;»~~»);»*»;»~*»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(SUBSTITUTE(A2,»~»,»~~»),»*»,»~*»),Лист1!$A$1:$C$4,3,0)

Как при помощи ВПР искать значение по строке, а не столбцу?

 
На самом деле ответ будет коротким — ВПР всегда ищет сверху вниз. Слева направо она не умеет. Но зато слева направо умеет искать её сестра ГПР(HLookup) — Горизонтальный

ПР

осмотр.
ГПР ищет заданное значение(аргумент

искомое_значение

) в первой строке указанного диапазона(аргумент

таблица

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

#Н/Д(#N/A)

.
Если надо найти значение «Иванов» в строке 2 и вернуть значение из строки 5 в таблице

A2:H10

, то формула будет выглядеть так:

=ГПР(«Иванов»;$A$2:$H$10;5;0)
=HLOOKUP(«Иванов»,$A$2:$H$10,5,0)

Все правила и синтаксис функции точно такие же, как у ВПР:
-в искомом значении можно применять символы астерикса(*) и вопр.знака(?) — «Иванов*»;
-таблица должна быть закреплена —

$A$2:$H$10

;
-интервальный просмотр работает по тому же принципу(0 или ЛОЖЬ точный просмотр слева-направо, 1 или ИСТИНА — интервальный).


Решение при помощи ПОИСКПОЗ

 
Общий принцип работы

ПОИСКПОЗ(MATCH)

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

Искомое_значение

в аргументе

Просматриваемый_массив

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

Просматриваемом_массиве

. Именно номер позиции, а не само значение. Если бы мы хотели применить её для таблицы выше, то она была бы такой:

=ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0)
=MATCH($A2,Лист1!$A$1:$A$4,0)

  • Искомое_значение($A2) — непосредственно значение или ссылка на ячейку с искомым значением. Если опираться на пример выше — то это ФИО. Здесь все ровно так же, как и с ВПР. Так же допустимы символы подстановки * и ? и ровно в таком же исполнении.
  • Просматриваемый_массив(Лист1!$A$1:$A$4) — указывается ссылка на столбец, в котором необходимо найти искомое значение. В отличии от той же ВПР, где указывается целая таблица, это должен быть именно один столбец, в котором мы собираемся искать Искомое_значение. Если попытаться указать более одного столбца, то функция вернет ошибку.Справедливости ради надо отметить, что можно указать либо столбец, либо строку
  • Тип_сопоставления(0) — то же самое, что и Интервальный_просмотр в ВПР. С теми же особенностями. Отличается разве что возможностью поиска наименьшего от искомого или наибольшего.

С основным разобрались. Но ведь нам надо вернуть не номер позиции, а само значение. Значит ПОИСКПОЗ в чистом виде нам не подходит. По крайней мере одна, сама по себе. Но если её использовать вместе с функцией ИНДЕКС(INDEX)(которая возвращает из указанного диапазона значение на пересечении заданных строки и столбца) — то это то, что нам нужно и даже больше.
=ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2)
Такая формула результатом вернет то же, что и ВПР.

Аргументы функции ИНДЕКС
Массив(Лист1!$A$2:$C$4). В качестве этого аргумента мы указываем диапазон, из которого хотим получить значения. Может быть как один столбец, так и несколько. В случае, если столбец один, то последний аргумент функции указывать не обязательно или он всегда будет равен 1(столбец-то всего один). К слову — данный аргумент может совершенно не совпадать с тем, который мы указываем в аргументе Просматриваемый_массив функции ПОИСКПОЗ.

Далее идут Номер_строки и Номер_столбца. Именно в качестве Номера_строки мы и подставляем ПОИСКПОЗ, которая возвращает нам номер позиции в массиве. На этом все и строится. ИНДЕКС возвращает значение из Массива, которое находится в указанной строке(Номер_строки) Массива и указанном столбце(Номер_столбца), если столбцов более одного. Важно знать, что в данной связке кол-во строк в аргументе Массив функции ИНДЕКС и кол-во строк в аргументе Просматриваемый_массив функции ПОИСКПОЗ должно совпадать. И начинаться с одной и той же строки. Это в обычных случаях, если не преследуются иные цели.
Так же как и в случае с ВПР, ИНДЕКС в случае не нахождения искомого значения возвращает #Н/Д. И обойти подобные ошибки можно так же:
Для всех версий Excel(включая 2003 и раньше):
=ЕСЛИ(ЕНД(ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0));»»;ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$2:$A$4;0);2))
Для версий 2007 и выше:
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2);»»)


Работа с критериями длиннее 255 символов

 
Есть у ИНДЕКС-ПОИСКПОЗ и еще одно преимущество перед ВПР. Дело в том, что ВПР не может искать значения, длина строки которых содержит более 255 символов. Это случается редко, но случается. Можно, конечно, обмануть ВПР и урезать критерий:

=ВПР(ПСТР($A2;1;255);ПСТР(Лист1!$A$1:$C$4;1;255);3;0)

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

Поэтому лучше использовать такую хитрую формулу:
=ИНДЕКС(Лист1!$A$1:$C$4;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;Лист1!$A$1:$A$4=$A2;0));2)
Здесь я в формулах использовал одинаковые диапазоны для удобочитаемости, но в примере для скачивания они различаются от указанных здесь.
Сама формула построена на возможности функции СУММПРОИЗВ преобразовывать в массивные вычисления некоторых функций внутри неё. В данном случае ПОИСКПОЗ ищет позицию строки, в которой критерий равен значению в строке. Подстановочные символы здесь применить уже не получится.


Ну и все же я рекомендовал бы Вам прочитать подробнее про данные функции в справке.

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

Скачать пример

  Tips_All_VLookUp.xls (26,0 KiB, 17 437 скачиваний)

Так же см.:
ВПР и интервальный просмотр(range_lookup)
ВПР по двум и более критериям
ВПР с возвратом всех значений
ВПР с поиском по нескольким листам
ВПР_МН
ВПР_ВСЕ_КНИГИ
Как заменить/удалить/найти звездочку?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

  • Советы по Excel
  • Функции Excel
  • Формулы Excel
  • Excel Диаграммы
  • Советы по словам
  • Советы по Outlook

Как искать / находить значения в другой книге?

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

  • Данные Vlookup и возвращаемые значения из другой книги в Excel
  • Данные Vlookup и возвращаемые значения из другой закрытой книги с VBA

Данные Vlookup и возвращаемые значения из другой книги в Excel

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

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

2. Выберите пустую ячейку, в которую вы вернете цену, введите формулу = ВПР (B2; [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2; FALSE) в него, а затем перетащите его маркер заполнения, чтобы применить эту формулу к диапазону по мере необходимости.

Заметки:
(1) В приведенной выше формуле B2 — это плод, который вы будете искать в другой книге, Price.xlsx указывает имя файла книги, из которой вы будете искать, Sheet1 означает имя листа, из которого вы будете искать, и A $ 1 : $ B $ 24 — это диапазон, из которого вы будете искать. Вы можете изменить их по своему усмотрению.
(2) После закрытия книги, из которой вы искали, формула автоматически обновится до = ВПР (B2; ‘W: test [Price.xlsx] Sheet1’! $ A $ 1: $ B $ 24,2, FALSE), W: test — это путь сохранения книги, из которой вы искали.

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


Данные Vlookup и возвращаемые значения из другой закрытой книги с VBA

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

1. нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модули, а затем вставьте ниже код VBA в открывающееся окно модуля.

VBA: данные Vlookup и возвращаемые значения из другой закрытой книги

Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1)  26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub

Внимание: Этот VBA будет возвращать значения в столбце, который находится на 2 столбца позади выбранного столбца. Например, я выбираю столбец B при применении этого VBA, значения возвращаются в столбце D. Если вам нужно изменить столбец назначения, узнайте код xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & «$» & xFCell.Row и заменить 2 на другой номер по мере необходимости.

3. нажмите F5 ключ или щелкните Run кнопку для запуска этого VBA.

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

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

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


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (1)


Оценок пока нет. Оцените первым!

Подписывайтесь на Нас

Copyright © 2009 —

www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта

Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.

Защищено Sectigo SSL

Поиск и суммирование значения из другого файла

Baiden

Дата: Понедельник, 03.04.2023, 10:14 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

Здравствуйте. Подскажите, какую формулу использовать лучше для поиска значения приведённые в файле «Пример сводки» из файла «Пример источника».
К примеру, есть потребитель «тоаз» в файле «Пример сводки». Нужно его найти в файле «Пример источника» и просуммировать все найденные значения и вернуть в ячейку G5.
Есть, возможность, чтобы я не указывал в каком столбце искать, а формула искала в указанном файле значения и суммировала?

Сообщение отредактировал BaidenПонедельник, 03.04.2023, 10:17

 

Ответить

DrMini

Дата: Понедельник, 03.04.2023, 10:56 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 1021


Репутация:

94

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

чтобы я не указывал в каком столбце искать, а формула искала в указанном файле значения и суммировала?

Вроде так:

Код

=СУММЕСЛИ([primer_istochnika.xls]ИМУС!$J$2:$J$107;F5;[primer_istochnika.xls]ИМУС!$P$2:$P$107)

 

Ответить

Baiden

Дата: Понедельник, 03.04.2023, 11:20 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

Благодарю.
Но есть возможность, не указывать, где именно (в каком столбце) искать?

 

Ответить

DrMini

Дата: Понедельник, 03.04.2023, 11:32 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1021


Репутация:

94

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

не указывать, где именно (в каком столбце) искать

Нужна какая то привязка где искать. По какому критерию. Имя столбца например и т.п.

 

Ответить

Baiden

Дата: Понедельник, 03.04.2023, 12:43 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

Правильно ли я понимаю, что диапазон поиска можно задать ОТ и ДО, но где суммировать обязательно нужна привязанная колонка?!

 

Ответить

Pelena

Дата: Понедельник, 03.04.2023, 14:07 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

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


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Baiden

Дата: Понедельник, 03.04.2023, 14:13 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

Имя столбцов не поменяется, может меняться последовательность и кол-во столбцов в источнике поиска.

 

Ответить

Baiden

Дата: Понедельник, 03.04.2023, 14:42 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

При закрытия/открытия файла, сбиваются все значения. Чтобы восстановить значения, приходится заново открывать сопутствующие файлы.
Не подскажите, как победить?

К сообщению приложен файл:

1159378.png
(381.8 Kb)

 

Ответить

NikitaDvorets

Дата: Понедельник, 03.04.2023, 15:00 |
Сообщение № 9

Группа: Авторы

Ранг: Обитатель

Сообщений: 433


Репутация:

93

±

Замечаний:
0% ±


Excel 2019

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

 

Ответить

Baiden

Дата: Понедельник, 03.04.2023, 15:33 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 18

NikitaDvorets,
Нужно именно «жёсткая» позиция столбца, что суммировать или можно задать название столбца в котором проводить суммирование?

 

Ответить

Pelena

Дата: Понедельник, 03.04.2023, 15:38 |
Сообщение № 11

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

При закрытия/открытия файла, сбиваются все значения

потому что СУММЕСЛИ не работает с закрытыми книгами.

Если

Имя столбцов не поменяется

, можно попробовать такую формулу

Код

=СУММПРОИЗВ(—(ИНДЕКС([primer_istochnika.xls]ИМУС!$A:$R;0;ПОИСКПОЗ(«Потребитель»;[primer_istochnika.xls]ИМУС!$A$1:$R$1;0))=$A5);ИНДЕКС([primer_istochnika.xls]ИМУС!$A:$R;0;ПОИСКПОЗ(«Расход суточный, нм3»;[primer_istochnika.xls]ИМУС!$A$1:$R$1;0)))

К сообщению приложен файл:

5263760.xlsx
(15.6 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

NikitaDvorets

Дата: Понедельник, 03.04.2023, 15:47 |
Сообщение № 12

Группа: Авторы

Ранг: Обитатель

Сообщений: 433


Репутация:

93

±

Замечаний:
0% ±


Excel 2019

Baiden,

Цитата

или можно задать название столбца в котором проводить суммирование

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

 

Ответить

Функция ВПР в Excel – руководство для начинающих: синтаксис и примеры

​Смотрите также​ столбцах суммировались, тогда​ проста в освоении​ в 250 пикселей​​ Поскольку 0,1 меньше​​ предоставить. Другими словами,​ ошибки, а для​не различает регистр​ искомое значение превышает​ВПР​

​.​​Антилопа​​:​=VLOOKUP(«*man»,$A$2:$C$11,1,FALSE)​Большинство имен диапазонов работают​.​ или более столбца​Сегодня мы начинаем серию​ всю функцию нужно​ и очень функциональна​ и нажмите кнопку​ наименьшего значения в​ оставив четвертый аргумент​​ второго аргумента указываете,​​ и принимает символы​

  • ​ этот предел, то​
  • ​.​
    • ​В нескольких предыдущих статьях​(Antelope), скорость которой​=VLOOKUP(4,A2:B15,2,FALSE)​
    • ​=ВПР(«*man»;$A$2:$C$11;1;ЛОЖЬ)​ для всей рабочей​=VLOOKUP(40,Sheet2!A2:B15,2)​
    • ​ с данными.Запомните, функция​ статей, описывающих одну​ поместить внутрь функции​
    • ​ при выполнении.​Перенос текста​
  • ​ столбце A, возвращается​ пустым, или ввести​
  • ​ что нужно возвратить,​ нижнего и ВЕРХНЕГО​

Функция ВПР в Excel – общее описание и синтаксис

​ Вы получите сообщение​​Другой источник ошибки​​ мы изучили различные​61​=ВПР(4;A2:B15;2;ЛОЖЬ)​~​ книги Excel, поэтому​=ВПР(40;Sheet2!A2:B15;2)​ВПР​ из самых полезных​​ СУММ(). Вся формула​​Благодаря гармоничному сочетанию простоты​(вкладка «​ сообщение об ошибке.​ значение ИСТИНА —​ если ошибка найдётся.​ регистра как одинаковые.​

​ об ошибке​#Н/Д​​ грани функции​​миля в час,​Если аргумент​Находим имя, начинающееся​ нет необходимости указывать​Конечно же, имя листа​всегда ищет значение​

​ функций Excel –​ в целом выглядит​​ и функциональности ВПР​​Главная​​#Н/Д​​ обеспечивает гибкость.​​Например, вот такая формула​​ Поэтому, если в​#ЗНАЧ!​​в формулах с​​ВПР​​ хотя в списке​​range_lookup​ на «ad» и​ имя листа для​ не обязательно вводить​​ в первом столбце​​ВПР​​ следующим образом: =СУММ(ВПР(G3;A3:E6;{3;4;5};ЛОЖЬ)).​​ пользователи активно ее​

​», группа «​​=ВПР(2,A2:C10,2,ИСТИНА)​​В этом примере показано,​ возвращает пустую ячейку,​ таблице есть несколько​.​ВПР​в Excel. Если​

Синтаксис функции ВПР

​ есть также​​(интервальный_просмотр) равен​​ заканчивающееся на «son»:​ аргумента​

​ вручную. Просто начните​
​ диапазона, заданного в​

​(VLOOKUP). Эта функция,​​После ввода данной формулы​​ используют в процессе​Выравнивание​Используя приблизительное соответствие, функция​ как работает функция.​ если искомое значение​ элементов, которые различаются​

  • ​Решение:​​– это числа​ Вы читали их​Гепард​TRUE​=VLOOKUP(«ad*son»,$A$2:$C$11,1,FALSE)​table_array​ вводить формулу, а​ аргументе​ в то же​ следует нажать комбинацию​ работы с электронными​​»).​​ ищет в столбце​

    ​ При вводе значения​
    ​ не найдено:​

​ только регистром символов,​Используйте связку функций​ в текстовом формате​ внимательно, то сейчас​(Cheetah), который бежит​​(ИСТИНА), формула ищет​​=ВПР(«ad*son»;$A$2:$C$11;1;ЛОЖЬ)​​(таблица), даже если​​ когда дело дойдёт​

  • ​table_array​​ время, одна из​ клавиш: CTRL+SHIFT+ENTER. Внимание!​ таблицами. Но стоит​​Счет​​ A значение 2,​ в ячейке B2​=IFERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE),»»)​ функция ВПР возвратит​​ИНДЕКС+ПОИСКПОЗ​​ в основной таблице​ должны быть экспертом​ со скоростью​ приблизительное совпадение. Точнее,​~​ формула и диапазон​ до аргумента​(таблица). В просматриваемом​ наиболее сложных и​ Если не нажать​ отметить, что у​​Город​​ находит наибольшее значение,​​ (первый аргумент) функция​​=ЕСЛИОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ);»»)​​ первый попавшийся элемент,​​(INDEX+MATCH). Ниже представлена​ или в таблице​ в этой области.​70​​ сначала функция​​Находим первое имя​

    ​ поиска находятся на​
    ​table_array​

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

    ​ формула будет работать​
    ​ много недостатков, которые​

    ​Самая ранняя счет по​​ равняется 2 и​​ в диапазоне C2:E7​​ собственное сообщение вместо​​ регистр.​ справится с этой​Это обычно случается, когда​ причины многие специалисты​ а 70 ближе​ищет точное совпадение,​

    Руководство по функции ВПР в Excel

​ из 5 символов:​​ Если же они​​ нужный лист и​​ текст, даты, числа,​​ВПР​​ ошибочно. В Excel​​ ограничивают возможности. Поэтому​​ городу, с датой​​ составляет 1,29, а​ (2-й аргумент) и​ стандартного сообщения об​​Решение:​​ задачей:​ Вы импортируете информацию​​ по Excel считают​​ к 69, чем​

  • ​ а если такое​​=VLOOKUP(«?????»,$A$2:$C$11,1,FALSE)​ находятся в разных​
    • ​ выделите мышью требуемый​ логические значения. Регистр​​я постараюсь изложить​​ иногда приходиться выполнять​
    • ​ ее иногда нужно​​3115​​ затем возвращает значение​ возвращает ближайший Приблизительное​

    ​ ошибке функции​Используйте другую функцию​=INDEX(C2:C7,MATCH(TRUE,INDEX(B2:B7=F$2,0),0))​ из внешних баз​​ВПР​​ 61, не так​ не найдено, выбирает​=ВПР(«?????»;$A$2:$C$11;1;ЛОЖЬ)​ книгах, то перед​ диапазон ячеек.​ символов не учитывается​

Примеры с функцией ВПР

​ основы максимально простым​​ функции в массиве​​ использовать с другими​Казань​ из столбца B​ совпадение с третьего​​ВПР​​ Excel, которая может​=ИНДЕКС(C2:C7;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B2:B7=F$2;0);0))​

Как, используя ВПР, выполнить поиск на другом листе Excel

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

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

​="Казань = "&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ("Казань",$B$2:$B$33,0),1)& ",​
​ строке.​

​ столбец E (3-й​ кавычках, например, так:​ (ПРОСМОТР, СУММПРОИЗВ, ИНДЕКС​ из другой рабочей​ числом, чтобы сохранить​ имеет кучу ограничений​​ функция​​ значение, не превышающее​с символами подстановки​ книги, к примеру,​ «Product 1» в​

​ нижнего регистра считаются​ неискушённых пользователей максимально​ CTRL+SHIFT+ENTER при вводе​ Для начала на​ Дата выставления счета:​1,71​​ аргумент).​​=IFERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE),»Ничего не найдено. Попробуйте​

​ и ПОИСКПОЗ) в​
​ книги, то должны​

Руководство по функции ВПР в Excel

​ стоящий в начале​ и особенностей, которые​ВПР​ заданного в аргументе​ работала правильно, в​ вот так:​ столбце A (это​

​ одинаковыми.Итак, наша формула​​ понятным. Кроме этого,​​ функций. Тогда в​ готовом примере применения​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)​Скопируйте всю таблицу и​Четвертый аргумент пуст, поэтому​ еще раз!»)​ сочетании с​ указать полный путь​

Поиск в другой рабочей книге с помощью ВПР

​ ноль.​​ становятся источником многих​​при поиске приблизительного​lookup_value​ качестве четвёртого аргумента​=VLOOKUP(«Product 1»,PriceList.xlsx!Products,2)​ 1-ый столбец диапазона​ будет искать значение​

​ мы изучим несколько​ строке формул все​​ функции рассмотрим ее​​3137​​ вставьте ее в​​ функция возвращает Приблизительное​​=ЕСЛИОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ);»Ничего не найдено. Попробуйте​​СОВПАД​

​ к этому файлу.​
​Наиболее очевидные признаки числа​

​ проблем и ошибок.​ совпадения возвращает наибольшее​(искомое_значение).​​ всегда нужно использовать​​=ВПР(«Product 1»;PriceList.xlsx!Products;2)​ A2:B9) на листе​

  1. ​40​ примеров с формулами​ содержимое будет взято​ преимущества, а потом​Казань​ ячейку A1 пустого​ совпадение. Если это​ еще раз!»)​, которая различает регистр.​
  2. ​ Если говорить точнее,​​ в текстовом формате​​В этой статье Вы​ значение, не превышающее​​Если аргумент​​FALSE​Так формула выглядит гораздо​Prices​в ячейках от​ Excel, которые продемонстрируют​

​ в фигурные скобки​ определим недостатки.​09.04.12​ листа Excel.​ не так, вам​​Так как функция​​ Более подробно Вы​​ Вы должны указать​​ показаны на рисунке​

Руководство по функции ВПР в Excel

​ найдёте простые объяснения​​ искомое.​​range_lookup​(ЛОЖЬ). Если диапазон​ понятнее, согласны? Кроме​.​A2​ наиболее распространённые варианты​ «{}», что свидетельствует​Функция ВПР предназначена для​=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «,​

Руководство по функции ВПР в Excel

​Совет:​ придется введите одно​ЕСЛИОШИБКА​ можете узнать из​ имя рабочей книги​

​ ниже:​
​ ошибок​

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

​Надеюсь, эти примеры пролили​(интервальный_просмотр) равен​ поиска содержит более​​ того, использование именованных​​=VLOOKUP(«Product 1»,Prices!$A$2:$B$9,2,FALSE)​до​ использования функции​ о выполнении формулы​ выборки данных из​​ Дата выставления счета:​​    Прежде чем вставлять​

​ из значений в​появилась в Excel​ урока — 4​ (включая расширение) в​​Кроме этого, числа могут​​#N/A​ немного света на​

Руководство по функции ВПР в Excel

​TRUE​ одного значения, подходящего​ диапазонов – это​=ВПР(«Product 1»;Prices!$A$2:$B$9;2;ЛОЖЬ)​​A15​​ВПР​

​ в массиве.​
​ таблицы Excel по​

​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy»)​ данные в Excel,​ столбцах C и​ 2007, при работе​ способа сделать ВПР​ квадратных скобках [​​ быть сохранены в​​(#Н/Д),​ работу с функцией​(ИСТИНА) или не​ под условия поиска​ хорошая альтернатива абсолютным​Пожалуйста, помните, что при​, потому что A​.​Теперь вводите в ячейку​ определенным критериям поиска.​3154​

​ установите для столбцов​
​ D, чтобы получить​

​ в более ранних​ с учетом регистра​ ], далее указать​ формате​#NAME?​ВПР​ указан, то значения​ с символами подстановки,​ ссылкам, поскольку именованный​ поиске текстового значения​ – это первый​Общее описание и синтаксис​ G3 наименование товара,​ Например, если таблица​

​Казань​ A – С​ результат вообще.​​ версиях Вам придётся​​ в Excel.​​ имя листа, а​​General​(#ИМЯ?) и​в Excel, и​ в первом столбце​ то будет возвращено​ диапазон не меняется​ Вы обязаны заключить​ столбец диапазона A2:B15,​

Руководство по функции ВПР в Excel

​Примеры с функцией ВПР​ в ячейке H3​

​ состоит из двух​
​11.04.12​

​ ширину в 250​

​Когда вы будете довольны​
​ использовать комбинацию​

​Как Вы уже знаете,​ затем – восклицательный​(Общий). В таком​#VALUE!​ Вы больше не​ диапазона должны быть​​ первое найденное значение.​​ при копировании формулы​ его в кавычки​

Использование символов подстановки в формулах с ВПР

​ заданного в аргументе​Как, используя ВПР, выполнить​​ получаем сумму продаж​​ колонок: «Наименование товара»​=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «,​

  • ​ пикселей и нажмите​ ВПР, ГПР одинаково​ЕСЛИ​
  • ​ВПР​ знак. Всю эту​

​ случае есть только​(#ЗНАЧ!), появляющихся при​​ смотрите на неё,​​ отсортированы по возрастанию,​А теперь давайте разберём​

  • ​ в другие ячейки.​ («»), как это​table_array​
  • ​ поиск на другом​ в первом квартале​ и «Цена». Рядом​ Дата выставления счета:​​ кнопку​​ удобно использовать. Введите​(IF) и​возвращает из заданного​​ конструкцию нужно заключить​​ один заметный признак​ работе с функцией​
  • ​ как на чужака.​ то есть от​ чуть более сложный​ Значит, Вы можете​ обычно делается в​(таблица):​ листе Excel​ по данному товару.​ находится другая таблица,​

Пример 1: Ищем текст, начинающийся или заканчивающийся определенными символами

​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy»)​Перенос текста​ те же аргументы,​ЕОШИБКА​ столбца значение, соответствующее​ в апострофы, на​ – числа выровнены​ВПР​ Теперь не помешает​ меньшего к большему.​ пример, как осуществить​

​ быть уверены, что​
​ формулах Excel.​

Руководство по функции ВПР в Excel

​=VLOOKUP(40,A2:B15,2)​Поиск в другой рабочей​Происходит сравнение двух таблиц​ которая будет искать​3191​(вкладка «​ но он осуществляет​(ISERROR) вот так:​ первому найденному совпадению​​ случай если имя​​ по левому краю​, а также приёмы​ кратко повторить ключевые​ Иначе функция​ поиск с помощью​

​ диапазон поиска в​
​Для аргумента​

​=ВПР(40;A2:B15;2)​ книге с помощью​

​ в Excel функцией​​ в первой таблице​Казань​

​Главная​
​ поиск в строках​

​=IF(ISERROR(VLOOKUP формула),»Ваше сообщение при​​ с искомым. Однако,​ книги или листа​ ячейки, в то​

​ и способы борьбы​
​ моменты изученного нами​

​ВПР​​ функции​ формуле всегда останется​table_array​

​col_index_num​
​ ВПР​

​ ВПР и как​​ по наименованию товара​​21.04.12​», группа «​ вместо столбцов. «​ ошибке»,VLOOKUP формула)​​ Вы можете заставить​​ содержит пробелы.​ время как стандартно​ с ними. Мы​ материала, чтобы лучше​может вернуть ошибочный​ВПР​ корректным.​

Пример 2: Сочетаем символы подстановки и ссылки на ячейки в формулах с ВПР

​(таблица) желательно всегда​(номер_столбца) – номер​Как использовать именованный диапазон​ только определяется совпадение​ и получать значение​​=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний​​Выравнивание​Если вы хотите поэкспериментировать​=ЕСЛИ(ЕОШИБКА(ВПР формула);»Ваше сообщение при​ ее извлечь 2-е,​Вот полная структура функции​ они выравниваются по​ начнём с наиболее​ закрепить его в​ результат.​по значению в​Если преобразовать диапазон ячеек​ использовать абсолютные ссылки​ столбца в заданном​ или таблицу в​

​ запрашиваемых данных, сразу​ соответствующей цены.​

​ Новгород",$B$2:$B$33,0),1)& ", Дата​
​").​

​ с функциями подстановки,​ ошибке»;ВПР формула)​ 3-е, 4-е или​ВПР​ правому краю.​ частых случаев и​ памяти.​Чтобы лучше понять важность​ какой-то ячейке. Представьте,​ в полноценную таблицу​ (со знаком $).​ диапазоне, из которого​ формулах с ВПР​

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

Руководство по функции ВПР в Excel

​Решение:​​ наиболее очевидных причин,​​Функция​ выбора​ что в столбце​ Excel, воспользовавшись командой​ В таком случае​ будет возвращено значение,​

Точное или приближенное совпадение в функции ВПР

​Использование символов подстановки в​ для суммирования функцией​ таблицы под названием​ & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy»)​​Подшипники​​ их к собственным​​ЕСЛИ+ЕОШИБКА+ВПР​​ значения, которое Вам​ другой книге:​Если это одиночное​ почему​ВПР​TRUE​ A находится список​Table​ диапазон поиска будет​​ находящееся в найденной​​ формулах с ВПР​​ СУММ. Весь процесс​​ столбца «Цена».​

​3293​Болты​ данным, то некоторые​, аналогична формуле​ нужно. Если нужно​

  • ​=VLOOKUP(lookup_value,'[workbook name]sheet name’!table_array, col_index_num,FALSE)​​ значение, просто кликните​​ВПР​​в Excel не​​(ИСТИНА) или​ лицензионных ключей, а​(Таблица) на вкладке​ оставаться неизменным при​ строке.Крайний левый столбец​​Точное или приближенное совпадение​​ выполняется циклически благодаря​Выберите «Формулы»-«Ссылки и массивы»-«ВПР».​Казань​​4​​ образцы данных. Некоторые​ЕСЛИОШИБКА+ВПР​ извлечь все повторяющиеся​​=ВПР(искомое_значение;'[имя_книги]имя_листа’!таблица;номер_столбца;ЛОЖЬ)​​ по иконке ошибки​не работает, поэтому​ может смотреть налево.​FALSE​ в столбце B​​Insert​​ копировании формулы в​ в заданном диапазоне​​ в функции ВПР​​ массиву функций о​Ввести функцию ВПР​25.04.12​​4​​ пользователи Excel, такие​

    ​, показанной выше:​
    ​ значения, Вам потребуется​

  • ​Настоящая формула может выглядеть​​ и выберите​​ лучше изучать примеры​​ Она всегда ищет​​(ЛОЖЬ), давайте разберём​ список имён, владеющих​(Вставка), то при​​ другие ячейки.​​ – это​ВПР в Excel –​ чем свидетельствуют фигурные​ можно и с​=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «,​9​ как с помощью​​=IF(ISERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE)),»»,VLOOKUP($F$2,$B$2:$C$10,2,FALSE))​​ комбинация из функций​

​ так:​​Convert to Number​​ в том порядке,​​ значение в крайнем​​ ещё несколько формул​ лицензией. Кроме этого,​ выделении диапазона мышью,​Чтобы функция​1​ это нужно запомнить!​ скобки в строке​ помощью «мастера функций».​​ Дата выставления счета:​​5​ функции ВПР и​

​=ЕСЛИ(ЕОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ));»»;ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ))​ИНДЕКС​​=VLOOKUP($A$2,'[New Prices.xls]Sheet1′!$B:$D,3,FALSE)​​(Конвертировать в число)​​ в каком они​​ левом столбце диапазона,​ с функцией​ у Вас есть​​ Microsoft Excel автоматически​​ВПР​, второй столбец –​

Пример 1: Поиск точного совпадения при помощи ВПР

​Итак, что же такое​ формул.​ Для этого нажмите​​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy»)​​7​​ ГПР; другие пользователи​​На сегодня всё. Надеюсь,​

​(INDEX),​=ВПР($A$2;'[New Prices.xls]Sheet1′!$B:$D;3;ЛОЖЬ)​ из контекстного меню.​ приведены в статье.​ заданного аргументом​ВПР​​ часть (несколько символов)​​ добавит в формулу​работала между двумя​ это​ВПР​Примечание. Если ввести вручную​

​ на кнопку «fx»,​
​3331​

Руководство по функции ВПР в Excel

​10​ предпочитают с помощью​ этот короткий учебник​НАИМЕНЬШИЙ​​Эта формула будет искать​​Если такая ситуация со​​Исправляем ошибку #Н/Д​​table_array​​и посмотрим на​​ какого-то лицензионного ключа​ названия столбцов (или​​ рабочими книгами Excel,​​2​? Ну, во-первых, это​ крайние фигурные скобки​​ которая находиться в​​Казань​6​ функций индекс и​

Пример 2: Используем ВПР для поиска приблизительного совпадения

​ поможет Вам справиться​​(SMALL) и​​ значение ячейки​ многими числами, выделите​Исправляем ошибку #ЗНАЧ! в​​(таблица).​​ результаты.​​ в ячейке C1,​​ название таблицы, если​ нужно указать имя​, третий столбец –​ функция Excel. Что​ в строку формул​ начале строки формул.​

​27.04.12​8​​ ПОИСКПОЗ вместе. Попробуйте​​ со всеми возможными​СТРОКА​A2​ их и щелкните​ формулах с ВПР​В функции​Как Вы помните, для​ и Вы хотите​ Вы выделите всю​ книги в квадратных​​ это​​ она делает? Она​

Руководство по функции ВПР в Excel

​ то это не​ Или нажмите комбинацию​3350​

​11​​ каждый из методов​​ ошибками​
​(ROW).​​в столбце​​ по выделенной области​

​Ошибка #ИМЯ? в ВПР​ВПР​ поиска точного совпадения,​ найти имя владельца.​​ таблицу).​​ скобках перед названием​3​ ищет заданное Вами​ приведет ни ка​​ горячих клавиш SHIFT+F3.​​Казань​

Руководство по функции ВПР в Excel

​Формула​ и посмотрите, какие​​ВПР​​К сожалению, формулы с​​B​​ правой кнопкой мыши.​ВПР не работает (проблемы,​все значения используются​​ четвёртый аргумент функции​​Это можно сделать, используя​Готовая формула будет выглядеть​​ листа.​​и так далее.​ значение и возвращает​ какому результату. Выполнить​В появившимся диалоговом​28.04.12​Описание​ из них подходящий​​и заставит Ваши​​ВПР​на листе​ В появившемся контекстном​ ограничения и решения)​

​ без учета регистра,​ВПР​ вот такую формулу:​​ примерно вот так:​​Например, ниже показана формула,​ Теперь Вы можете​ соответствующее значение из​ функцию циклическим массивом​ окне на поле​3390​Результат​ вариант.​ формулы работать правильно.​перестают работать каждый​

ВПР в Excel – это нужно запомнить!

  1. ​Sheet1​​ меню выберите​​ВПР – работа с​ то есть маленькие​должен иметь значение​=VLOOKUP(«*»&C1&»*»,$A$2:$B$12,2,FALSE)​=VLOOKUP(«Product 1»,Table46[[Product]:[Price]],2)​ которая ищет значение​​ прочитать всю формулу:​​ другого столбца. Говоря​
  2. ​ можно только через​​ категория, выберите из​​Казань​=ГПР(«Оси»;A1:C4;2;ИСТИНА)​Скопируйте следующие данные в​Урок подготовлен для Вас​ раз, когда в​
  3. ​в рабочей книге​Format Cells​ функциями ЕСЛИОШИБКА и​ и большие буквы​​FALSE​​=ВПР(«*»&C1&»*»;$A$2:$B$12;2;FALSE)​​=ВПР(«Product 1»;Table46[[Product]:[Price]];2)​​40​
  4. ​=VLOOKUP(40,A2:B15,2)​​ техническим языком,​​ комбинацию горячих клавиш:​​ выпадающего списка: «Ссылки​​01.05.12​​Поиск слова «Оси» в​​ пустой лист.​​ командой сайта office-guru.ru​​ таблицу поиска добавляется​New Prices​(Формат ячеек) >​​ ЕОШИБКА​​ эквивалентны.​(ЛОЖЬ).​​Эта формула ищет значение​​А может даже так:​
  5. ​на листе​=ВПР(40;A2:B15;2)​​ВПР​​ CTRL+SHIFT+ENTER.​ и массивы», а​3441​ строке 1 и​Совет:​Источник: https://www.ablebits.com/office-addins-blog/2014/08/27/excel-vlookup-not-working/​ или удаляется новый​
  6. ​и извлекать соответствующее​ вкладка​В формулах с​Если искомое значение меньше​Давайте вновь обратимся к​ из ячейки C1​
  7. ​=VLOOKUP(«Product 1»,Table46,2)​Sheet2​Формула ищет значение​​ищет значение в​​Стоит отметить, что главным​​ потом ниже укажите​​Казань​ возврат значения из​    Прежде чем вставлять​

​Перевел: Антон Андронов​ столбец. Это происходит,​​ значение из столбца​​Number​ВПР​ минимального значения в​ таблице из самого​ в заданном диапазоне​​=ВПР(«Product 1»;Table46;2)​​в книге​40​ первом столбце заданного​ недостатком функции ВПР​ на функцию.​02.05.12​ строки 2, находящейся​ данные в Excel,​

​Автор: Антон Андронов​ потому что синтаксис​
​D​
​(Число) > формат​

​сообщение об ошибке​

office-guru.ru

Функция ВПР не работает – способы устранения ошибок Н/Д, ИМЯ и ЗНАЧ

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

​.​Number​#N/A​​ диапазона, функция​​ выясним, какое животное​ значение из столбца​ ссылки будут вести​:​A2:A15​ результат из другого​ выбрать несколько одинаковых​В поле «Исходное значение»​​Казань​​ столбце (столбец A).​ A – С​Мы стараемся как​требует указывать полностью​Если любая часть пути​(Числовой) и нажмите​

Функция ВПР не работает

​(#Н/Д) – означает​ВПР​ может передвигаться со​​ B. Обратите внимание,​​ к тем же​​=VLOOKUP(40,[Numbers.xlsx]Sheet2!A2:B15,2)​​и возвращает соответствующее​​ столбца в той​​ исходных значений в​ вводим ссылку на​​08.05.12​​4​ ширину в 250​ можно оперативнее обеспечивать​ весь диапазон поиска​ к таблице пропущена,​ОК​not available​​сообщит об ошибке​​ скоростью​ что в первом​ ячейкам, не зависимо​=ВПР(40;[Numbers.xlsx]Sheet2!A2:B15;2)​ значение из столбца​

  • ​ же строке.​
  • ​ запросе.​ ячейку под наименованием​
  • ​3124​
  • ​=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ)​ пикселей и нажмите​
  • ​ вас актуальными справочными​ и конкретный номер​ Ваша функция​

Исправляем ошибку #Н/Д функции ВПР в Excel

​.​​(нет данных) –​​#N/A​​50​​ аргументе мы используем​​ от того, куда​​Вот простейший способ создать​ B (поскольку B​В самом привычном применении,​Скачать пример функции ВПР​ товара второй таблицы​Орел​

1. Искомое значение написано с опечаткой

​Поиск слова «Подшипники» в​ кнопку​ материалами на вашем​ столбца для извлечения​ВПР​Это наименее очевидная причина​ появляется, когда Excel​(#Н/Д).​миль в час.​ символ амперсанда (&)​

2. Ошибка #Н/Д при поиске приближённого совпадения с ВПР

​ Вы копируете функцию​ в Excel формулу​ – это второй​ функция​​ с двумя таблицами​​ D3. В поле​09.04.12​ строке 1 и​Перенос текста​ языке. Эта страница​​ данных. Естественно, и​​не будет работать​

  • ​ ошибки​ не может найти​Если 3-й аргумент​
  • ​ Я верю, что​ до и после​

3. Ошибка #Н/Д при поиске точного совпадения с ВПР

​ВПР​ с​​ столбец в диапазоне​​ВПР​Другими словами если в​ «Таблица» вводим диапазон​3155​ возврат значения из​​(вкладка «​​ переведена автоматически, поэтому​ заданный диапазон, и​ и сообщит об​#Н/Д​​ искомое значение. Это​​col_index_num​

4. Столбец поиска не является крайним левым

​ вот такая формула​ ссылки на ячейку,​в пределах рабочей​​ВПР​​ A2:B15).​ищет в базе​ нашей таблице повторяются​ всех значений первой​Орел​ строки 3, находящейся​Главная​ ее текст может​ номер столбца меняются,​ ошибке​в работе функции​ может произойти по​​(номер_столбца) меньше​​ не вызовет у​

Функция ВПР не работает

​ чтобы связать текстовую​​ книги.​, которая ссылается на​Если значение аргумента​ данных заданный уникальный​ значения «груши», «яблока»​ таблицы A2:B7. В​​11.04.12​​ в том же​​», группа «​​ содержать неточности и​ когда Вы удаляете​​#ЗНАЧ!​​ВПР​

5. Числа форматированы как текст

​ нескольким причинам.​​1​​ Вас затруднений:​​ строку.​​Как и во многих​ другую рабочую книгу:​col_index_num​ идентификатор и извлекает​ мы не сможем​

​ поле «Номер столбца»​3177​ столбце (столбец B).​Выравнивание​ грамматические ошибки. Для​ столбец или вставляете​(даже если рабочая​, поскольку зрительно трудно​

​Хорошая мысль проверить этот​, функция​=VLOOKUP(50,$A$2:$B$15,2,FALSE)​Как видно на рисунке​

Функция ВПР не работает

​ других функциях, в​Откройте обе книги. Это​(номер_столбца) меньше​​ из базы какую-то​​ просуммировать всех груш​ вводим значение 2,​Орел​7​»).​ нас важно, чтобы​ новый.​ книга с таблицей​ увидеть эти лишние​

​ пункт в первую​​ВПР​=ВПР(50;$A$2:$B$15;2;ЛОЖЬ)​ ниже, функция​ВПР​​ не обязательно, но​​1​ связанную с ним​

Функция ВПР не работает

​ и яблок. Для​ так как во​19.04.12​=ГПР(«П»;A1:C4;3;ИСТИНА)​Плотность​ эта статья была​Решение:​​ поиска в данный​​ пробелы, особенно при​ очередь! Опечатки часто​​сообщит об ошибке​​Обратите внимание, что наш​​ВПР​​Вы можете использовать​​ так проще создавать​​, то​

6. В начале или в конце стоит пробел

​ информацию.​ этого нужно использовать​​ втором столбце у​​3357​​Поиск буквы «П» в​​Вязкость​ вам полезна. Просим​И снова на​ момент открыта).​ работе с большими​ возникают, когда Вы​#VALUE!​

​ диапазон поиска (столбец​возвращает значение «Jeremy​ следующие символы подстановки:​ формулу. Вы же​

​ВПР​Первая буква в названии​ функцию ПРОСМОТР(). Она​ нас находиться цена,​Орел​​ строке 1 и​​Температура​​ вас уделить пару​​ помощь спешат функции​

​Для получения дополнительной информации​
​ таблицами, когда большая​

Функция ВПР не работает

​ работаете с очень​(#ЗНАЧ!). Если же​ A) содержит два​

​ Hill», поскольку его​Знак вопроса (?) –​ не хотите вводить​сообщит об ошибке​​ функции​​ очень похожа на​​ которую мы хотим​​28.04.12​​ возврат значения из​​0,457​ секунд и сообщить,​ИНДЕКС​​ о функции​​ часть данных находится​​ большими объёмами данных,​​ он больше количества​​ значения​​ лицензионный ключ содержит​

​ заменяет один любой​
​ имя рабочей книги​

​#VALUE!​ВПР​ ВПР но умеет​​ получить при поиске​​3492​​ строки 3, находящейся​​3,55​ помогла ли она​

Функция ВПР не работает

Ошибка #ЗНАЧ! в формулах с ВПР

​(INDEX) и​ВПР​ за пределами экрана.​​ состоящих из тысяч​​ столбцов в диапазоне​50​ последовательность символов из​ символ.​ вручную? Вдобавок, это​​(#ЗНАЧ!). А если​​(VLOOKUP) означает​ хорошо работать с​​ товара. И нажимаем​​Орел​

1. Искомое значение длиннее 255 символов

​ в том же​​500​​ вам, с помощью​ПОИСКПОЗ​, ссылающейся на другой​Решение 1: Лишние пробелы​ строк, или когда​table_array​– в ячейках​​ ячейки C1.​​Звёздочка (*) – заменяет​

Функция ВПР не работает

​ защитит Вас от​​ оно больше количества​​В​​ массивами в исходных​ ОК.​06.05.12​ столбце. Так как​

​0,525​
​ кнопок внизу страницы.​

Функция ВПР не работает

2. Не указан полный путь к рабочей книге для поиска

​(MATCH). В формуле​ файл Excel, обратитесь​ в основной таблице​ искомое значение вписано​(таблица), функция сообщит​A5​Заметьте, что аргумент​ любую последовательность символов.​ случайных опечаток.​ столбцов в диапазоне​ертикальный (​ значениях.​Теперь под заголовком столбца​3316​ «П» найти не​3,25​ Для удобства также​ИНДЕКС+ПОИСКПОЗ​ к уроку: Поиск​

​ (там, где функция​​ в формулу.​​ об ошибке​и​

​table_array​
​Использование символов подстановки в​

​Начните вводить функцию​table_array​

​V​
​Mika​

​ второй таблицы «Товар»​Челябинск​​ удалось, возвращается ближайшее​​400​​ приводим ссылку на​​Вы раздельно задаёте​​ в другой рабочей​​ ВПР)​​Если Вы используете формулу​​#REF!​A6​​(таблица) на скриншоте​​ функциях​

​ВПР​(таблица), функция вернет​ertical). По ней Вы​​: Доброго время суток!​​ введите наименования того​25.04.12​ из меньших значений:​​0,606​​ оригинал (на английском​ столбцы для поиска​ книге с помощью​Если лишние пробелы оказались​

​ с условием поиска​(#ССЫЛКА!).​​. Формула возвращает значение​​ сверху содержит имя​ВПР​, а когда дело​ ошибку​ можете отличить​в последнее время,​

3. Аргумент Номер_столбца меньше 1

​ товара по котором​3346​ «Оси» (в столбце​​2,93​​ языке) .​ и для извлечения​ ВПР.​ в основной таблице,​ приближённого совпадения, т.е.​Используйте абсолютные ссылки на​ из ячейки​​ таблицы (Table7) вместо​​может пригодиться во​

​ дойдёт до аргумента​#REF!​​ВПР​​ перестала работать функция​​ нам нужно узнать​​Челябинск​​ A).​​300​Предположим, что у вас​​ данных, и в​​Трудно представить ситуацию, когда​

​ Вы можете обеспечить​​ аргумент​​ ячейки в аргументе​B5​ указания диапазона ячеек.​​ многих случаях, например:​​table_array​​(#ССЫЛКА!).​​от​

Ошибка #ИМЯ? в ВПР

​ ВПР при подтягивании​​ его цену. И​​28.04.12​5​0,675​ есть списка номеров​

​ результате можете удалять​ кто-то вводит значение​

ВПР не работает (ограничения, оговорки и решения)

​ правильную работу формул,​​range_lookup​​table_array​. Почему? Потому что​ Так мы делали​Когда Вы не помните​(таблица), переключитесь на​range_lookup​​ГПР​​ из из 2-го​ нажмите Enter.​3372​=ГПР(«Болты»;A1:C4;4)​2,75​​ офисов расположение и​​ или вставлять сколько​

1. ВПР не чувствительна к регистру

​ меньше​​ заключив аргумент​​(интервальный_просмотр) равен TRUE​(таблица), чтобы при​ при поиске точного​ в предыдущем примере.​ в точности текст,​ другую рабочую книгу​(интервальный_просмотр) – определяет,​(HLOOKUP), которая осуществляет​ файла к первому.​Функция позволяет нам быстро​Челябинск​Поиск слова «Болты» в​

​250​​ вам нужно знать,​ угодно столбцов, не​1​lookup_value​ (ИСТИНА) или не​ копировании формулы сохранялся​​ совпадения функция​​И, наконец, давайте рассмотрим​ который нужно найти.​ и выделите в​ что нужно искать:​ поиск значения в​Приходится копировать все​ находить данные и​

2. ВПР возвращает первое найденное значение

​01.05.12​​ строке 1 и​​0,746​ какие сотрудники являются​ беспокоясь о том,​, чтобы обозначить столбец,​(искомое_значение) в функцию​ указан, Ваша формула​ правильный диапазон поиска.​ВПР​ поподробнее последний аргумент,​Когда Вы хотите найти​ ней нужный диапазон​точное совпадение, аргумент должен​ верхней строке диапазона​​ в закладку и​​ получать по ним​​3414​​ возврат значения из​​2,57​​ в каждой программы​

3. В таблицу был добавлен или удалён столбец

​ что придётся обновлять​​ из которого нужно​​TRIM​ может сообщить об​ Попробуйте в качестве​использует первое найденное​ который указывается для​ какое-то слово, которое​​ поиска.​​ быть равен​ –​ только после этого​ все необходимые значения​Челябинск​ строки 4, находящейся​200​ office. Электронную таблицу​ все связанные формулы​ извлечь значение. Хотя​

​(СЖПРОБЕЛЫ):​​ ошибке​ альтернативы использовать именованные​​ значение, совпадающее с​​ функции​​ является частью содержимого​​На снимке экрана, показанном​​FALSE​​Г​ ВПР-ить.​ из больших таблиц.​01.05.12​ в том же​0,835​ огромный, поэтому вы​ поиска.​ это возможно, если​=VLOOKUP(TRIM($F2),$A$2:$C$10,3,FALSE)​#Н/Д​

4. Ссылки на ячейки исказились при копировании формулы

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

​ВПР​​ ячейки. Знайте, что​ ниже, видно формулу,​(ЛОЖЬ);​​оризонтальный (​​Может настройки сбились?​ Это похоже на​​3451​​ столбце (столбец C).​​2,38​​ думаете, что он​Этот заголовок исчерпывающе объясняет​ значение этого аргумента​=ВПР(СЖПРОБЕЛЫ($F2);$A$2:$C$10;3;ЛОЖЬ)​​в двух случаях:​​ в Excel.​

ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА

​Когда Вы используете функцию​–​ВПР​​ в которой для​​приблизительное совпадение, аргумент равен​​H​​Guest​​ работу с базами​​Челябинск​11​150​ является довольно сложной​​ суть проблемы, правда?​​ вычисляется другой функцией​​Решение 2: Лишние пробелы​​Искомое значение меньше наименьшего​Когда выполняете поиск приблизительного​ВПР​range_lookup​​ищет по содержимому​​ поиска задан диапазон​TRUE​

ВПР: работа с функцией ЕСЛИОШИБКА

​orizontal).​​: попробуете Tools/options/Calcultion/Automatic​​ данных. Когда к​02.05.12​=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА)​

​0,946​
​ задачи. Это задача несложная​

​Решение:​ Excel, вложенной в​ в таблице поиска​ значения в просматриваемом​ совпадения, не забывайте,​для поиска приблизительного​(интервальный_просмотр). Как уже​ ячейки целиком, как​

​ в рабочей книге​(ИСТИНА) или вовсе​Функция​Guest​

​ базе создается запрос,​
​3467​

Функция ВПР не работает

​Поиск числа 3 в​2,17​ делать с помощью​Всегда используйте абсолютные​​ВПР​​ (в столбце поиска)​ массиве.​

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

Функция ВПР не работает

ВПР: работа с функцией ЕОШИБКА

​PriceList.xlsx​​ не указан.​​ВПР​: попробуете Tools/options/Calcultion/Automatic{/post}{/quote}​ а в ответ​Челябинск​ трех строках константы​​100​​ функции поиска.​​ ссылки на ячейки​​.​

​Если лишние пробелы оказались​Столбец поиска не упорядочен​
​ в исследуемом диапазоне​ аргумент​

​ урока, этот аргумент​​Match entire cell content​​на листе​​Этот параметр не обязателен,​​доступна в версиях​

​а в 2007?​
​ выводятся результаты, которые​

​02.05.12​ массива и возврат​1,09​Функции ВПР и ГПР​ (с символом​​Итак, если случилось, что​​ в столбце поиска​ по возрастанию.​

​ должен быть отсортирован​range_lookup​
​ очень важен. Вы​
​(Ячейка целиком) в​

​Prices​

office-guru.ru

Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

​ но очень важен.​​ Excel 2013, Excel​Serge​ являются ответом на​3474​ значения из строки​1,95​ вместе с функций​$​ аргумент​ – простыми путями​Если Вы ищете точное​ по возрастанию.​(интервальный_просмотр) равен​ можете получить абсолютно​ стандартном поиске Excel.​.​ Далее в этом​ 2010, Excel 2007,​: Кнопка Офис -​ критерии запроса.​Челябинск​

​ 2 того же​50​ индекс и ПОИСКПОЗ,описаны​) при записи диапазона,​col_index_num​ ошибку​ совпадение, т.е. аргумент​И, наконец, помните о​TRUE​ разные результаты в​Когда в ячейке содержатся​Функция​ учебнике по​

​ Excel 2003, Excel​ Параметры — Формулы​​04.05.12​ (в данном случае —​1,29​

​ некоторые из наиболее​​ например​(номер_столбца) меньше​#Н/Д​

​range_lookup​ важности четвертого аргумента.​

​(ИСТИНА) или пропущен,​

​ одной и той​ дополнительные пробелы в​​ВПР​​ВПР​ XP и Excel​ — Параметры вычислений​Немного усложним задание, изменив​3490​ третьего) столбца. Константа​1,71​ полезных функций в​$A$2:$C$100​1​в формуле с​(интервальный_просмотр) равен FALSE​ Используйте значения​ первое, что Вы​ же формуле при​ начале или в​будет работать даже,​я покажу Вам​ 2000.​

​ — автоматически​ структуру и увеличив​Челябинск​ массива содержит три​0​ Microsoft Excel.​или​, функция​ВПР​ (ЛОЖЬ) и точное​TRUE​ должны сделать, –​ его значении​ конце содержимого. В​ когда Вы закроете​ несколько примеров, объясняющих​Функция​

​Guest​ объем данных в​05.05.12​ строки значений, разделенных​Формула​Примечание:​$A:$C​ВПР​не избежать. Вместо​ значение не найдено,​(ИСТИНА) или​ выполнить сортировку диапазона​TRUE​

Типичный пример использования функции ВПР

​ такой ситуации Вы​ рабочую книгу, в​ как правильно составлять​ВПР​: Кнопка Офис -​ таблице. Расширьте объем​3503​ точкой с запятой​Описание​

​ Функция мастер подстановок больше​. В строке формул​также сообщит об​ВПР​ формула также сообщит​FALSE​ по первому столбцу​

Попробуйте попрактиковаться

​(ПРАВДА) или​ можете долго ломать​ которой производится поиск,​ формулы для поиска​(VLOOKUP) имеет вот​ Параметры — Формулы​ данных первой таблицы,​Челябинск​ (;). Так как​Результат​ не доступен в​ Вы можете быстро​ ошибке​Вы можете использовать​ об ошибке​(ЛОЖЬ) обдуманно, и​ в порядке возрастания.​

Пример функции ВПР в действии

​FALSE​ голову, пытаясь понять,​

​ а в строке​​ точного и приблизительного​ такой синтаксис:​ — Параметры вычислений​ добавив столбцы: «январь»,​08.05.12​ «c» было найдено​=ВПР(1,A2:C10,2)​​ Microsoft Excel.​​ переключать тип ссылки,​​#ЗНАЧ!​​ формулу массива с​​#Н/Д​​ Вы избавитесь от​

​Это очень важно, поскольку​

​(ЛОЖЬ).​

​ почему формула не​

​ формул появится полный​

​ совпадения.​

​VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])​

​ — автоматически{/post}{/quote}​

​ «февраль», «март». Там​

​3151​

​ в строке 2​

​Используя приблизительное соответствие, функция​

​Вот пример того, как​

​ нажимая​

​.​

​ комбинацией функций​

​. Более подробно о​

​ многих головных болей.​

​ функция​

​Для начала давайте выясним,​

​ работает.​

​ путь к файлу​

​Я надеюсь, функция​

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

​Так все и​

​ запишем суммы продаж​

​Нижний Новгород​

​ того же столбца,​

​ ищет в столбце​

​ использовать функцию ВПР.​

​F4​

​Если же аргумент​

​ИНДЕКС​

​ том, как искать​

​В следующих статьях нашего​

​ВПР​ что в Microsoft​Предположим, что Вы хотите​ рабочей книги, как​ВПР​Как видите, функция​ стояло, все равно​ в первом квартале​09.04.12​ что и 3,​ A значение 1,​

​=ВПР(B2;C2:E7,3,ИСТИНА)​

​.​

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

​ как показано на​

​3438​

​ возвращается «c».​ находит наибольшее значение,​В этом примере B2​Если Вы не хотите​(номер_столбца) больше количества​ПОИСКПОЗ​

​ совпадение с функцией​

​ВПР​

​ значение после заданного,​ точным и приближенным​ в базе данных,​Если название рабочей книги​ чуть-чуть понятнее. Теперь​в Microsoft Excel​Guest​

​ рисунке:​

​Нижний Новгород​

​c​ которое меньше или​ — это первый​ пугать пользователей сообщениями​ столбцов в заданном​(MATCH) и​ВПР​в Excel мы​ а затем поиск​ совпадением.​ показанной ниже. Вы​

​ или листа содержит​

Пример функции ГПР

​ давайте рассмотрим несколько​ имеет 4 параметра​: архивчик бы?​Как видите вторую таблицу​

​02.05.12​​В этом примере последней​ равняется 1 и​аргумент​ об ошибках​ массиве,​СЖПРОБЕЛЫ​.​​ будем изучать более​​ останавливается. Если Вы​​Если аргумент​​ не помните его​​ пробелы, то его​​ примеров использования​

​ (или аргумента). Первые​

​Guest​

​ так же нужно​

​3471​

​ использует функций индекс​

​ составляет 0,946, а​

​— элемент данных, функция​

​#Н/Д​

​ВПР​

​(TRIM):​

​Как Вы, вероятно, знаете,​

​ продвинутые примеры, такие​

​ пренебрежете правильной сортировкой,​

​range_lookup​

​ фамилию, но знаете,​

​ нужно заключить в​

​ВПР​ три – обязательные,​: понимаете, у моей​ немного изменить, чтобы​Нижний Новгород​ и ПОИСКПОЗ вместе​

​ затем возвращает значение​

​ должна работать. Функции​

​,​сообщит об ошибке​=INDEX($C$2:$C$10,MATCH(TRUE,TRIM($A$2:$A$10)=TRIM($F$2),0))​ одно из самых​ как выполнение различных​ дело закончится тем,​

​(интервальный_просмотр) равен​

​ что она начинается​

​ апострофы:​в формулах с​ последний – по​ коллеги на компе​ не потерять суть​04.05.12​ для возвращения раннюю​ из столбца B​ ВПР это первый​#ЗНАЧ!​#REF!​

​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(ИСТИНА;СЖПРОБЕЛЫ($A$2:$A$10)=СЖПРОБЕЛЫ($F$2);0))​

​ значительных ограничений​

​ вычислений при помощи​ что Вы получите​FALSE​ на «ack». Вот​=VLOOKUP(40,'[Numbers.xlsx]Sheet2′!A2:B15,2)​ реальными данными.​

​ необходимости.​

​ это работает(думаю у​

​ задачи.​3160​ номер счета-фактуры и​ в той же​ аргумент — значение,​или​(#ССЫЛ!).​Так как это формула​ВПР​ВПР​ очень странные результаты​(ЛОЖЬ), формула ищет​ такая формула отлично​=ВПР(40;'[Numbers.xlsx]Sheet2′!A2:B15;2)​На практике формулы с​lookup_value​

​ вас тоже это​

ИНДЕКС и ПОИСКПОЗ примеры

​Теперь нам нужно сделать​Москва​ его соответствующих даты​ строке.​ которое требуется найти.​#ИМЯ?​Простейший случай – ошибка​ массива, не забудьте​это то, что​, извлечение значений из​ или сообщение об​ точное совпадение, т.е.​ справится с этой​Если Вы планируете использовать​ функцией​(искомое_значение) – значение,​ будет работать), на​ выборку данных с​18.04.12​ для каждого из​2,17​ Этот аргумент может​, можете показывать пустую​

​#NAME?​ нажать​ она не может​ нескольких столбцов и​

​ ошибке​​ точно такое же​ задачей:​ один диапазон поиска​ВПР​ которое нужно искать.Это​ моем компьютере это​​ помощью функции ВПР​​3328​​ пяти городов. Так​​=ВПР(1,A2:C10,3,ИСТИНА)​​ быть ссылка на​​ ячейку или собственное​

​(#ИМЯ?) – появится,​

​Ctrl+Shift+Enter​

​ смотреть влево, следовательно,​

​ другие. Я благодарю​#N/A​

​ значение, что задано​

​=VLOOKUP(«ack*»,$A$2:$C$11,1,FALSE)​

​ в нескольких функциях​

​редко используются для​ может быть значение​ не работает!!!​

​ отдельно по товару​

​Москва​

​ как дата возвращаются​

​Используя приблизительное соответствие, функция​ ячейку или фиксированным​ сообщение. Вы можете​

​ если Вы случайно​

​вместо привычного​

​ столбец поиска в​

​ Вас за то,​(#Н/Д).​ в аргументе​

​=ВПР(«ack*»;$A$2:$C$11;1;ЛОЖЬ)​

​ВПР​

​ поиска данных на​

​ (число, дата, текст)​какие то настройки​ и просуммировать продажи​26.04.12​

​ в виде числа,​

​ ищет в столбце​

​ значением, например «строфа»​

​ сделать это, поместив​ напишите с ошибкой​Enter​

​ Вашей таблице должен​

​ что читаете этот​

​Вот теперь можно использовать​

​lookup_value​

​Теперь, когда Вы уверены,​

​, то можете создать​

​ том же листе.​

​ или ссылка на​

​ слетели, только незнаю​

​ за первый квартал.​

​3368​

​ мы используем функцию​

​ A значение 1,​

​ или 21,000. Второй​

​ВПР​

​ имя функции.​

​, чтобы правильно ввести​

​ быть крайним левым.​

​ учебник, и надеюсь​

​ одну из следующих​

​(искомое_значение). Если в​

​ что нашли правильное​

​ именованный диапазон и​

​ Чаще всего Вы​

​ ячейку (содержащую искомое​

​ какие….​

​ Для этого переходим​

​Москва​

​ текст отформатировать его​

​ находит наибольшее значение,​

​ аргумент — это​

​в функцию​

​Решение очевидно – проверьте​

​ формулу.​

​ На практике мы​

​ встретить Вас снова​

​ формул:​

​ первом столбце диапазона​

​ имя, можно использовать​

​ вводить его имя​

​ будете искать и​

​ значение), или значение,​

​Guest​

​ в ячейку H3​

​29.04.12​

​ как дату. Результат​

​ которое меньше или​

​ диапазон ячеек, C2-:E7,​

​ЕСЛИОШИБКА​

​ правописание!​

​В большинстве случаев, Microsoft​

​ часто забываем об​

​ на следующей неделе!​

​=VLOOKUP(69,$A$2:$B$15,2,TRUE)​

​ t​

​ эту же формулу,​

​ в формулу в​

​ извлекать соответствующие значения​

​ возвращаемое какой-либо другой​

​: понимаете, у моей​

​ и после вызова​

​3420​

​ функции ПОИСКПОЗ фактически​

​ равняется 1 и​

​ в котором выполняется​

​(IFERROR) в Excel​

​Помимо достаточно сложного синтаксиса,​

​ Excel сообщает об​

​ этом, что приводит​

​Урок подготовлен для Вас​

​или​

​able_array​

​ чтобы найти сумму,​

​ качестве аргумента​

​ из другого листа.​

​ функцией Excel. Например,​

​ коллеги на компе​

​ функции заполняем ее​

​Москва​

​ используется функция индекс​

​ составляет 0,946, а​

Дополнительные сведения о функциях поиска

  • ​ поиск значения, которые​ 2013, 2010 и​

  • ​ВПР​ ошибке​

  • ​ к не работающей​ командой сайта office-guru.ru​

support.office.com

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

​=VLOOKUP(69,$A$2:$B$15,2)​(таблица) встречается два​ оплаченную этим клиентом.​table_array​Чтобы, используя​ вот такая формула​ это работает(думаю у​ аргументы следующим образом:​01.05.12​ аргументом. Сочетание функций​

​ затем возвращает значение​ нужно найти. Третий​ 2007 или использовать​имеет больше ограничений,​#VALUE!​ формуле и появлению​Источник: https://www.ablebits.com/office-addins-blog/2014/07/17/excel-vlookup-tutorial-beginner/​=ВПР(69;$A$2:$B$15;2;ИСТИНА)​ или более значений,​ Для этого достаточно​(таблица).​ВПР​ будет искать значение​ вас тоже это​Исходное значение: G3.​3501​ индекс и ПОИСКПОЗ​ из столбца C​ аргумент — это​

Как работает функция ВПР в Excel: пример

​ связку функций​ чем любая другая​(#ЗНАЧ!), когда значение,​ ошибки​Перевел: Антон Андронов​или​ совпадающих с аргументом​ изменить третий аргумент​Чтобы создать именованный диапазон,​, выполнить поиск на​40​ будет работать), на​Таблица: A2:E7. Диапазон нашей​Москва​

Две таблицы.

  1. ​ используются два раза​ в той же​ столбец в диапазон​
  2. ​ЕСЛИ+ЕОШИБКА​Ссылки и массивы.​ функция Excel. Из-за​ использованное в формуле,​#Н/Д​Автор: Антон Андронов​=ВПР(69;$A$2:$B$15;2)​lookup_value​ функции​ просто выделите ячейки​ другом листе Microsoft​Мастер фунций.​:​ моем компьютере это​ таблицы расширен.​06.05.12​ в каждой формуле​ строке.​ ячеек, содержащий значение,​
  3. ​(IF+ISERROR) в более​

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

​ этих ограничений, простые​ не подходит по​.​Этот урок объясняет, как​Как видите, я хочу​(искомое_значение), то выбрано​ВПР​ и введите подходящее​ Excel, Вы должны​=VLOOKUP(40,A2:B15,2)​ не работает!!!​Номер столбца: {3;4;5}. Нам​Краткий справочник: обзор функции​ — сначала получить​100​ которое вы поиска.​ ранних версиях.​

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

Результат.

​ название в поле​ в аргументе​=ВПР(40;A2:B15;2)​какие то настройки​ нужно с помощью​ ВПР​ номер счета-фактуры, а​=ВПР(0,7,A2:C10,3,ЛОЖЬ)​Четвертый аргумент не является​Синтаксис функции​ формулы с​ касается​Если нет возможности​

​ ситуацией, когда функция​

Функция ВПР в Excel и две таблицы

​ из животных скорость​ них. Если совпадения​ столбца. В нашем​Имя​table_array​Если искомое значение будет​ слетели, только незнаю​ функции обращаться одновременно​Функции ссылки и поиска​ затем для возврата​Используя точное соответствие, функция​

Продажи за квартал.

​ обязательным. Введите TRUE​ЕСЛИОШИБКА​ВПР​ВПР​ изменить структуру данных​

​ВПР​ ближе всего к​ не найдены, функция​ случае это столбец​, слева от строки​(таблица) указать имя​ меньше, чем наименьшее​ какие….{/post}{/quote}​ к нескольким столбцам,​ (справка)​ даты.​

Аргументы2.

  1. ​ ищет в столбце​
  2. ​ или FALSE. Если​(IFERROR) прост и​
  3. ​часто приводят к​, то обычно выделяют​ так, чтобы столбец​(VLOOKUP) не хочет​69​ сообщит об ошибке​ C (3-й в​ формул.​ листа с восклицательным​ значение в первом​что никто не​
  4. ​ поэтому значение данного​
  5. ​Использование аргумента массива таблицы​Скопируйте всю таблицу и​ A значение 0,7.​ ввести значение ИСТИНА​ говорит сам за​ неожиданным результатам. Ниже​ две причины ошибки​
  6. ​ поиска был крайним​ работать в Excel​милям в час.​#N/A​ диапазоне):​Теперь Вы можете записать​ знаком, а затем​ столбце просматриваемого диапазона,​ может ничем помочь????​ аргумента будет взято​ в функции ВПР​ вставьте ее в​ Поскольку точного соответствия​ или аргумент оставлен​ себя:​ Вы найдёте решения​#ЗНАЧ!​ левым, Вы можете​ 2013, 2010, 2007​

​ И вот какой​(#Н/Д).Например, следующая формула​=VLOOKUP(«ack*»,$A$2:$C$11,3,FALSE)​ вот такую формулу​ диапазон ячеек. К​ функция​

Результат2.

​Юрий М​ в массив фигурными​ВПР в Excel очень​ ячейку A1 пустого​ нет, возвращается сообщение​ пустым, функция возвращает​IFERROR(value,value_if_error)​ для нескольких распространённых​.​ использовать комбинацию функций​ и 2003, а​ результат мне вернула​ сообщит об ошибке​

​=ВПР(«ack*»;$A$2:$C$11;3;ЛОЖЬ)​ для поиска цены​ примеру, следующая формула​ВПР​: Может быть в​ скобками. А номера​ удобный и часто​ листа Excel.​ об ошибке.​ приблизительное значение, указать​

​ЕСЛИОШИБКА(значение;значение_если_ошибка)​ сценариев, когда​Будьте внимательны: функция​ИНДЕКС​ также, как выявить​ функция​

​#N/A​Вот ещё несколько примеров​

​ товара​ показывает, что диапазон​сообщит об ошибке​ Параметрах — Вычисления​ столбцов следует перечислять​ используемый инструмент для​Совет:​#Н/Д​ в качестве первого​То есть, для первого​ВПР​ВПР​(INDEX) и​

exceltable.com

не работает ВПР из другого файла

​ и исправить распространённые​​ВПР​

​(#Н/Д), если в​ с символами подстановки:​Product 1​A2:B15​#N/A​
​ — обновлять удаленные​ через точку с​ работы с таблицами​    Прежде чем вставлять данные​
​=ВПР(0,1,A2:C10,2,ИСТИНА)​

​ аргумента. Если ввести​​ аргумента Вы вставляете​

​ошибается.​​не может искать​

​ПОИСКПОЗ​

​ ошибки и преодолеть​​:​ диапазоне A2:A15 нет​~​:​

​находится на листе​​(#Н/Д).​ ссылки? (2003)​ запятой.​ как с базой​

​ в Excel, установите​Используя приблизительное соответствие, функция​ значение FALSE, функция​

​ значение, которое нужно​​Функция​

​ значения, содержащие более​​(MATCH), как более​ ограничения​Как видите, формула возвратила​ значения​Находим имя, заканчивающееся​=VLOOKUP(«Product 1»,Products,2)​ с именем​
​table_array​Владимир​Интервальный просмотр: ЛОЖЬ.​

​ данных и не​​ для столбцов A​ ищет в столбце​ будут соответствовать значение​ проверить на предмет​ВПР​ 255 символов. Если​ гибкую альтернативу для​
​ВПР​ результат​4​

​ на «man»:​=ВПР(«Product 1»;Products;2)​

​Sheet2​​(таблица) – два​: Попробуйте переустановить Excel.​Чтобы значения в выбранных​ только. Данная функция​

​ – D ширину​​ A значение 0,1.​

planetaexcel.ru

​ в первом аргументе​

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

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

Принцип следующий:
В файле Task в ячейке B5 ищется текст (Значение 1) из колонки Н файла Data.
Если находит такой текст, тогда в диапазон D5:I5 копируются данные из соответствующего диапазона В:G файла Data. Поиск для ячейки B5 прекращается и продолжается аналогично для В6.
Если не находит, тогда ищется Значение 2 и так далее.

Примеры прилагаю:
В файле Task в закладке Task указан диапазон, в котором нужно искать данные.
В файле Data в закладке Data — в столбцах H-L значения, которые нужно искать, а в столбцах B-G значения, которые нужно подставлять.
В файле Task в закладке Result — ожидаемый результат.

Описание получилось немного сумбурное, но по примерам должно быть понятным.
Заранее благодарю

Прикрепленные файлы

  • Task.xlsx (9.53 КБ)
  • Data.xlsx (9.47 КБ)

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#2

10.01.2015 01:42:10

Код
Option Compare Text
Sub поиск_шин()
Set wbData = Workbooks("Data.xlsx")
Set wbTask = Workbooks("Task.xlsm")
Set shData = wbData.Sheets(1)
Set shTask = wbTask.Sheets("Result")
Set rngData = Intersect(shData.Columns("H:L"), shData.UsedRange)

Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = 1
For Each cell In rngData
    If cell.Value <> "" Then
        rr = cell.Row
        dic.Item(cell.Value) = shData.Range("B" & rr, "G" & rr)
    End If
Next

For Each cell In shTask.[B5:B15]
For Each dKey In dic.keys
    If cell.Value Like "*" & dKey & "*" Then
    cell.Offset(0, 2).Resize(1, 6) = dic.Item(dKey)
    Exit For
    End If
Next
Next

Прикрепленные файлы

  • Task.xlsm (23.66 КБ)

Работать надо не 12 часов, а головой.

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#3

10.01.2015 04:51:24

Раз уж написал, то и свой вариант выложу.
в принципе, такой же, как уLeanna, но есть отличия.

CODE

Требования: оба файла должны быть в одной папке; других файлов Excel в ней быть не должно; имена файлов и папки не принципиальны; Расположение таблицы в Data — на первом листе; место на листе — не принципиально, но других данных быть не должно; список в файле Task должен начинаться с В5.

Прикрепленные файлы

  • Roman RRR.rar (30.55 КБ)

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Спасибо

Leanna

и

Михаил С.

Попробую потестировать, думаю данный пример может не только мне понадобиться

Михаил С.

, в вашем результате, напротив     185/65 R14 90R Nokian Nordman RS XL найдено значение Nokian Nordman. А нужно Nokian Nordman RS т.к. здесь еще более детальное совпадение… есть ли возможность это учесть?  

 

Проверьте

Изменено: Михаил С.10.01.2015 20:00:04
(Чуть подредактировал макрос. )

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#6

10.01.2015 15:44:43

Михаил, подскажите пожалуйста в чем отгадка

Код
With Dat
ad1 = .Cells(1, 6).Address(0, 0) 'G2
ad2 = .Cells(.Rows.Count - 1, .Columns.Count - 1).Address(0, 0) 'K20
ad3 = .Range(.Cells(1, 6), .Cells(.Rows.Count - 1, .Columns.Count - 1)).Address(0, 0) 'H3:L21
Arr = .Range(.Cells(1, 6), .Cells(.Rows.Count - 1, .Columns.Count - 1)).Value
End With

по отдельности G2 и K20 а в Range H3:L21?

Работать надо не 12 часов, а головой.

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

#7

10.01.2015 15:55:36

Цитата
Михаил С. пишет: Проверьте

Теперь работает. Благодарю

 

Leanna, если честно — я сам не знаю, почему так.  
По идее, .Range.Address должен дать адрес относительно Dat, а дает адрес листа…

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Файл не смотрел, но если Dat — это диапазон, то точку перед Range надо убрать….

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#10

10.01.2015 16:23:11

так выдает то же самое G2, K20, H3:L21

Код
ad1 = Dat.Cells(1, 6).Address(0, 0) 'G2
ad2 = Dat.Cells(Dat.Rows.Count - 1, Dat.Columns.Count - 1).Address(0, 0) 'K20
ad3 = Dat.Range(Dat.Cells(1, 6), Dat.Cells(Dat.Rows.Count - 1, Dat.Columns.Count - 1)).Address(0, 0) 'H3:L21

Да, без точки перед Range выдает G2:K20. Спасибо!

Работать надо не 12 часов, а головой.

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Недавно заметил, что пробелы не учитываются в поиске. Например, мне нужно найти значение » ААА «, но это не то самое, что просто «ААА».  

 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Искомый текст из колонок Н-L файла Data. Этот тект почемуто нечувствительный к пробелам

 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

Я не про это: КАК поиск осуществляете?

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Макросом, который написан

Михаил С.

Изменено: Roman RRR05.02.2015 01:06:17

 

Елена Ион

Пользователь

Сообщений: 27
Регистрация: 25.10.2021

Добрый день! Помогите пожалуйста в написании макроса.
Нужно, чтобы в файле Акт в ячейке N3 когда написали ИНН организации, то после поиска этого ИНН в файле Org в столбце A, после совпадения, из столбца B копировалась бы соответствующая организация и вставлялась в файл Акт в ячейку C4.

Прикрепленные файлы

  • Org.xlsx (15.48 КБ)
  • АКТ.xlsm (32.94 КБ)

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#17

28.10.2021 14:25:42

Елена Ион,
1. вам лучше было создать свою собственную тему с вашим вопросом
2. файл «Org.xlsx» — будет открыт или всегда закрыт?
3. если файл «Org.xlsx» будет всегда закрыт, то он где будет лежать? в той же папке, что и АКТ.xlms или в другой какой-то папке ?
4. Макрос должен срабатывать сразу по введению данных в ячейку N3 ? Или оператор может запустить макрос руками через Alt+F8 для подставновки организации ?

Вот макрос — файл Org.xlsx закрытый, лежит в той же папке, что и Акт.xlsm, запуск макроса через Alt+F8

Код
Sub Вставить_Название_по_ИНН()
    Dim SourceWB As Workbook, FSO As Object, sSourceFileName As String, sPathToSourceFile As String
    Dim Rng As Range, NameOfOrganization As String, ACT_Num As String

    sSourceFileName = "Org.xlsx" 'название файла источника (должен лежать в той же папке, что и Акт)
    
    ACT_Num = ThisWorkbook.Worksheets("АКТ").Range("N3") 'запоминаем номер акта из N3
    
    sPathToSourceFile = ThisWorkbook.Path & Application.PathSeparator & sSourceFileName
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FileExists(sPathToSourceFile) Then
        MsgBox "Файл '" & sSourceFileName & "' не найден!", vbExclamation, "Внимание"
        Exit Sub
    End If
    Set FSO = Nothing
    Application.ScreenUpdating = False
    Set SourceWB = Workbooks.Open(sPathToSourceFile, UpdateLinks:=False, ReadOnly:=True)
    With SourceWB.Worksheets(1)
        Set Rng = .Columns(1).Find(ACT_Num, , xlFormulas, xlWhole) 'поиск номера Акта
        If Not Rng Is Nothing Then NameOfOrganization = Rng.Offset(0, 1) 'запонимаем название Организации из столбца В
    End With
    SourceWB.Close (False) 'закрываем файл Org.xlsx
    Application.ScreenUpdating = True
    If NameOfOrganization <> "" Then
        ThisWorkbook.Worksheets("АКТ").Range("N3") = NameOfOrganization
    Else
        MsgBox "ИНН: " & ACT_Num & " не найден в файле " & sSourceFileName, vbExclamation, "Внимание"
    End If
End Sub

Изменено: New28.10.2021 14:39:29

 

Елена Ион

Пользователь

Сообщений: 27
Регистрация: 25.10.2021

#18

28.10.2021 17:32:06

Цитата
New написал:
4. Макрос должен срабатывать сразу по введению данных в ячейку N3 ?

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

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#19

28.10.2021 18:04:52

Цитата
Елена Ион написал:
А что нужно добавить, чтобы он срабатывал сразу после введения данных.

если очень нужно, то создаёте новую тему с этим вопросом и там я или кто-нибудь другой ответит вам

Понравилась статья? Поделить с друзьями:
  • Поиск значения в тексте ячейки excel
  • Поиск значения в диапазоне ячеек excel формула
  • Поиск значения в тексте ячейке excel
  • Поиск значения в диапазоне ячеек excel по условию
  • Поиск значения в тексте ячеек в excel