Excel как использовать значения с другого листа

На чтение 5 мин. Просмотров 3.9k. Опубликовано 15.12.2019

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

Перейдем на лист «Прайс-лист». Посмотрим, что мы здесь имеем. Стоимость первого товара в рублях — доски для сноуборда «Balance» — находится в ячейке «D6». Запомним это.

Переходим на наш лист. Отмечаем ячейку, где должна располагаться цена доски «Balance» в рублях. В данном случае это ячейка «Е2». В строке формул пишем следующее выражение: «=’Прайс-лист’!D6». В апострофах (‘…’) пишем название листа в документе, откуда мы собираемся брать данные. После восклицательного знака идет название ячейки. Ничего сложного.

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

Аналогично вносим формулы вычисления во все остальные ячейки.

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

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

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

Например может потребоваться скопировать только итоговое значение формулы в ячейку на другом листе. Или, может потребоваться удалить значения, которые можно использовать в формуле, скопировав значение результат формулы в другую ячейку на листе. В случае простой скопировать выделенный фрагмент такие действия приведет к возникновению ошибки ссылку Недопустимая ячейка (#REF!) должна отображаться в целевой ячейке, поскольку больше не будет ссылки на ячейки, содержащие значения, которые используются в формуле.

Можно избежать этой ошибки путем вставки только результат формулы в целевой ячейке.

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

На вкладке Главная в группе буфер обмена нажмите кнопку Копировать или нажмите сочетание клавиш CTRL + C.

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

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

На вкладке Главная в группе буфер обмена нажмите кнопку Вставить и нажмите кнопку Вставить значения. Или нажмите Сочетание клавиш Ctrl + Alt + V , чтобы отобразить диалоговое окно Специальная вставка.

Выберите значения и нажмите кнопку ОК.

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

Excel позволяет делать ссылки в формулах и функциях на другие листы и даже книги. Можно сделать ссылку на данные отдельного файла. Кстати в такой способ можно восстановить данные из поврежденного файла xls.

Содержание

  1. Ссылка на лист в формуле Excel
  2. Как сделать ссылку на лист в Excel?
  3. Ссылка на лист в другой книге Excel

Ссылка на лист в формуле Excel

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

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

  1. Заполните Лист1, Лист2 и Лист3 так как показано выше на рисунке.
  2. Перейдите на Лист4, ячейка B2.
  3. Поставьте знак «=» и перейдите на Лист1 чтобы там щелкнуть левой клавишей мышки по ячейке B2.
  4. Поставьте знак «+» и повторите те же действия предыдущего пункта, но только на Лист2, а потом и Лист3.
  5. Когда формула будет иметь следующий вид: =Лист1!B2+Лист2!B2+Лист3!B2, нажмите Enter. Результат должен получиться такой же, как на рисунке.

Как сделать ссылку на лист в Excel?

Ссылка на лист немного отличается от традиционной ссылки. Она состоит из 3-х элементов:

  1. Имя листа.
  2. Знак восклицания (служит как разделитель и помогает визуально определить, к какому листу принадлежит адрес ячейки).
  3. Адрес на ячейку в этом же листе.

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

Ссылка на лист в другой книге Excel

Ссылка на лист в другой книге имеет уже 5 элементов. Выглядит она следующим образом: =’C:Docs[Отчет.xlsx]Лист1′!B2.

Описание элементов ссылки на другую книгу Excel:

  1. Путь к файлу книги (после знака = открывается апостроф).
  2. Имя файла книги (имя файла взято в квадратные скобки).
  3. Имя листа этой книги (после имени закрывается апостроф).
  4. Знак восклицания.
  5. Ссылка на ячейку или диапазон ячеек.

Данную ссылку следует читать так:

  • книга расположена на диске C: в папке Docs;
  • имя файла книги «Отчет» с расширением «.xlsx»;
  • на «Лист1» в ячейке B2 находится значение на которое ссылается формула или функция.

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

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

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

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

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

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

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

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

  1. Щелкните ячейку, в которой вы хотите, чтобы отображаемые данные отображались.
  2. Введите = (знак равенства), а затем имя листа, из которого вы хотите извлечь данные. Если имя листа состоит из более чем одного слова, заключите имя листа в одинарные кавычки.
    ссылка на лист в Excel
  3. Тип ! за которым следует ссылка на ячейку, которую вы хотите извлечь.
    Ссылка на ячейку Excel
  4. Нажмите Ввод.
  5. Значение из вашего другого листа теперь появится в ячейке.
    вытянутая дата в экселе
  6. Если вы хотите получить больше значений, выберите ячейку и удерживайте маленький квадрат в правом нижнем углу ячейки.
    автозаполнение в экселе
  7. Перетащите вниз, чтобы заполнить оставшиеся ячейки.
    заполненные ячейки в Excel

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

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

  1. Щелкните ячейку, в которой вы хотите, чтобы отображаемые данные отображались.
  2. Введите = (знак равенства), а затем откройте лист, из которого вы хотите извлечь данные.
  3. Нажмите на ячейку, содержащую данные, которые вы хотите извлечь. Вы увидите, что формула изменится, чтобы включить ссылку на эту ячейку.
    выделить ячейку в Excel
  4. Нажмите Enter, и данные будут загружены в вашу ячейку.
    вытянутая дата в экселе

Как извлечь данные из другого листа в Excel с помощью функции ВПР

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

Например, если вы отсортируете данные на листе «Продажи за июль», имена отдела продаж также будут переставлены.

Данные Excel отсортированы

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

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

Чтобы использовать функцию ВПР для получения данных с другого листа в Excel:

  1. Щелкните ячейку, в которой вы хотите, чтобы отображаемые данные отображались.
  2. Введите =ВПР( затем щелкните ячейку слева. Это будет ссылка, которую будет искать функция ВПР.
    поиск в Excel
  3. Введите запятую, а затем щелкните лист, из которого вы хотите извлечь данные. Нажмите и перетащите два столбца, которые содержат ваши данные.
    выбрать массив в Excel
  4. Введите еще одну запятую, а затем введите номер столбца, содержащего данные, которые вы хотите извлечь. В данном случае это второй столбец, поэтому мы должны ввести 2.
  5. Введите еще одну запятую, затем FALSE, а затем последнюю закрывающую скобку, чтобы завершить формулу. Это гарантирует, что функция ищет точное совпадение с вашей ссылкой.
    формула в экселе
  6. Нажмите Ввод. Теперь ваши данные появятся в вашей ячейке.
  7. Если вы хотите получить больше значений, выберите ячейку, нажмите и удерживайте маленький квадрат в правом нижнем углу ячейки.
    автозаполнение в экселе
  8. Перетащите вниз, чтобы заполнить оставшиеся ячейки.
    заполненные ячейки в Excel
  9. Теперь, если вы отсортируете исходные данные, ваши извлеченные данные не изменятся, поскольку они всегда ищут данные, связанные с каждым отдельным именем.

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

Заставьте Excel работать на вас

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

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

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

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

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

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

Итак, просто внимательно просмотрите этот блог.

Содержание

  1. Практический сценарий
  2. Методы передачи данных из одной книги Excel в другую
  3. Метод № 1: автоматически Обновление одного листа Excel с другого листа
  4. Метод № 2: обновить электронную таблицу Excel данными из другой электронной таблицы
  5. Метод № 3: Как автоматически скопировать данные из одной ячейки в другую в Excel
  6. Метод № 4: Как скопировать данные с одного листа на другой в Excel с помощью формулы
  7. Метод № 5: копирование данных с одного листа на другой в Excel с помощью макросов
  8. Рекомендуемое решение: средство восстановления и восстановления MS Excel
  9. Шаги по использованию средства восстановления и восстановления MS Excel:
  10. Заключение:
  11. Маргрет
  12. MicroKnowledge, Inc.
  13. Приведенные ниже шаги объясняют, как настроить это с помощью Excel 2007 или более поздней версии.

Практический сценарий

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

У меня есть рабочая тетрадь с 6 листами внутри; один из листов – мастер; это просто остальные 6 листов, составленные в один большой. Мне нужно настроить его так, чтобы любые новые данные, введенные в новые отдельные листы, автоматически вводились в мастер-лист в первой пустой строке.

Столбцы не одинаковы на всех листах. . Надеюсь, здесь профи будет легче, чем мне, в этом я бился головой о стену. Я буду тщательно проверять эту ветку, поэтому, если вам понадобится дополнительная информация, просто дайте мне знать …

Заранее благодарим за любую помощь.

Источник: https://ccm.net/forum/affich-1019001-automatically-update-master-worksheet-from- другие рабочие листы

Методы передачи данных из одной книги Excel в другую

Существует множество различных способов переноса данных из одной книги Excel в другую , и они следующие:

Метод № 1: автоматически Обновление одного листа Excel с другого листа

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

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

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

1) С использованием функции копирования и вставки

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

  • Сохраните всю свою работу из исходного рабочего листа перед его закрытием.

2) Введите формулу вручную

  • Откройте целевой рабочий лист, коснитесь ячейки, в которой есть формула связи, и поместите знак равенства (=) поперек нее.
  • Теперь перейдите к источник ш eet и коснитесь ячейки, в которой есть данные. нажмите Enter на клавиатуре и сохраните свои задачи.

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

Метод № 2: обновить электронную таблицу Excel данными из другой электронной таблицы

Чтобы обновить электронные таблицы Excel данными из другой электронной таблицы, просто следуйте приведенным ниже пунктам, которые будут применимы к версии Excel 2019, 2016, 2013, 2010, 2007.

  • Сначала перейдите в меню Данные .
  • Выберите параметр Обновить все

  • Здесь вы должны увидеть, когда и как обновляется соединение
  • Теперь щелкните любую ячейку, содержащую подключенные данные.
  • Снова в меню Данные , cli ck на стрелке рядом с параметром Обновить все и выберите Свойства соединения

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

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

Метод № 3: Как автоматически скопировать данные из одной ячейки в другую в Excel

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

  • Сначала откройте исходный рабочий лист и целевой рабочий лист.
  • На исходном листе перейдите к листу, который вы хотите переместить или скопировать.
  • Теперь нажмите меню Главная и выберите параметр Формат .
  • Затем выберите «Переместить или скопировать лист» в разделе «Организовать листы».
  • После этого снова в в меню Главная выберите параметр Формат в группе ячеек.
  • Здесь в Переместить или скопировать выберите целевой лист, и Excel отобразит только открытые листы в списке.

  • Иначе, если вы хотите скопировать рабочий лист вместо перемещения, сделайте копию книги Excel перед

  • Наконец, нажмите ОК кнопку, чтобы скопировать или переместить целевую электронную таблицу Excel.

Метод № 4: Как скопировать данные с одного листа на другой в Excel с помощью формулы

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

  • Для копирования и вставки ячейки Excel в текущий рабочий лист Excel, , например; скопируйте ячейку От A1 до D5, вы можете просто выбрать целевую ячейку D5, затем ввести = A1 и нажать клавишу Enter, чтобы получить значение A1.
  • Для копирования и вставки ячеек с одного рабочего листа на другой, например скопируйте ячейку A1 листа Sheet1 в ячейку D5 листа Sheet2, выберите ячейку D5 на листе Sheet2, затем введите = Sheet1! A1 и нажмите клавишу Enter, чтобы получить значение.

Метод № 5: копирование данных с одного листа на другой в Excel с помощью макросов

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

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

Sub OpenWorkbook ()
‘Открыть книгу
‘Метод открытия требует ссылки на полный путь к файлу.
Workbooks.Open «C: Users username Documents New Data.xlsx»

‘ Метод открытия имеет дополнительные параметры
‘Workbooks.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

End Sub

Sub CloseWorkbook ()
‘Закройте книгу
Workbooks («New Data.xlsx»). Close SaveChanges: = True
‘Метод Close имеет дополнительные параметры
‘ Workbooks.Close (SaveChanges, Filename, RouteWorkbook)

End Sub

Рекомендуемое решение: средство восстановления и восстановления MS Excel

Когда вы выполняете свою работу в MS Excel и по ошибке или случайно делаете это не сохранять данные книги, иначе ваш рабочий лист будет удален, тогда у нас есть для вас профессиональный инструмент восстановления, например MS Excel Repair & Recovery Tool .

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

Шаги по использованию средства восстановления и восстановления MS Excel:

Заключение:

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

Я надеюсь, что вы удовлетворены приведенными выше методами, предоставленными вам по обновлению листа Excel .

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

Маргрет

Маргрет Артур – предприниматель и эксперт по контент-маркетингу. Она ведет технические блоги и специализируется на MS Office, Excel и других технических вопросах. Ее отличительное искусство подачи технической информации простым для понимания языком очень впечатляет. Когда не пишет, она любит незапланированные путешествия.



MicroKnowledge, Inc.

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

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

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

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

Звучит сложно? Это не так!

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

(Эта функция также доступна в предыдущих версиях Excel. )

  1. Создайте все нужные листы в книге. Здесь я создал лист для каждого представителя службы поддержки.
  2. Создайте именованный диапазон для своей главной таблицы. Выделите данные в своей таблице (включая заголовки), введите e введите имя диапазона в поле имени слева от строки формул, затем нажмите Enter. Именованный диапазон необходим Microsoft Query для выбора данных для анализа.
  3. Создайте таблицу из вашей главной таблицы. Выделите свои данные, как описано выше. Откройте вкладку Вставить . Щелкните Таблица . Этот шаг немного избыточен, но преобразование ваших данных в таблицу имеет массу преимуществ, главное из которых состоит в том, что при добавлении в нее новых данных она автоматически расширяется для сбора новых данных. В свою очередь, это также автоматически расширит ваш именованный диапазон.
  4. Перейдите на лист, на который вы хотите поместить результаты запроса. Это может быть другой рабочий лист или даже другая книга.
  5. Щелкните вкладку Данные . Нажмите Из других источников . Выберите Из Microsoft Query . Откроется окно Выбрать источник данных .
  6. Выберите файлы Excel. Нажмите ОК . Откроется окно Выбрать книгу .
  7. Найдите и выберите книгу для запроса. Обратите внимание, что это может быть та же книга, что и открытая в данный момент. Нажмите ОК . Отображается Мастер запросов .
  8. Должны появиться ваши именованные диапазоны в левой части окна в виде таблицы. Я выберу все столбцы слева, чтобы показать их на листах подмножества. Щелкните Далее .
  9. На шаге мастера «Фильтровать данные» выберите фильтрацию данных, которые вы хотите отобразить на этом листе. Здесь я делаю лист Джерри, поэтому мне нужны только данные, где Назначено равно Джерри. Нажмите Далее .
  10. Выполните оставшиеся шаги в мастера, пока вы не будете готовы выбрать место назначения для ваших данных. В диалоговом окне Импорт данных убедитесь, что Таблица выбрана в качестве способа вставки ваших данных.. Я решил вставить данные в A1 на листе Джерри.
  11. Поскольку вы вставили данные в качестве таблицы у вас есть особая возможность Обновить, если вы вносите какие-либо изменения в основную таблицу. Вы можете найти Обновить на вкладке «Данные» или на вкладке «Работа с таблицами» Дизайн .

Вам понадобится повторить шаги 4–11 для каждого имеющегося у вас подмножества листов. Но как только все это настроено, у вас есть небольшая симпатичная база данных Excel!

Skip to content

Как использовать функцию ДВССЫЛ – примеры формул

В этой статье объясняется синтаксис функции ДВССЫЛ, основные способы ее использования и приводится ряд примеров формул, демонстрирующих использование ДВССЫЛ в Excel.

В Microsoft Excel существует множество функций, некоторые из которых просты для понимания, другие требуют длительного обучения. При этом первые используются чаще, чем вторые. И тем не менее, функция Excel ДВССЫЛ  (INDIRECT на английском) является единственной в своем роде. Эта функция Excel не выполняет никаких вычислений, не оценивает никаких условий не ищет значения.

Итак, что такое функция ДВССЫЛ (INDIRECT) в Excel и для чего ее можно использовать? Это очень хороший вопрос, и, надеюсь, вы получите исчерпывающий ответ через несколько минут, когда закончите чтение.

Функция ДВССЫЛ в Excel — синтаксис и основные способы использования

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

Все это может быть проще понять на примере. Однако чтобы написать формулу, пусть даже самую простую, нужно знать аргументы функции, верно? Итак, давайте сначала кратко рассмотрим синтаксис Excel ДВССЫЛ.

Функция ДВССЫЛ в Excel возвращает ссылку на ячейку, используя текстовую строку. Она имеет два аргумента, первый является обязательным, а второй – нет:

ДВССЫЛ(ссылка_на_ячейку; [a1])

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

a1 — логическое значение, указывающее, какой тип ссылки содержится в первом аргументе:

  • Если значение ИСТИНА или опущено, то используется ссылка на ячейку в стиле A1.
  • Если ЛОЖЬ, то возвращается ссылка в виде R1C1.

Таким образом, ДВССЫЛ возвращает либо ссылку на ячейку, либо ссылку на диапазон.

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

Как работает функция ДВССЫЛ

Чтобы получить представление о работе функции, давайте создадим простую формулу, которая демонстрирует, как можно применить ДВССЫЛ в Excel.

Предположим, у вас есть число 5 в ячейке A1 и текст «A1» в ячейке C1. Теперь поместите формулу =ДВССЫЛ(C1) в любую другую ячейку и посмотрите, что произойдет:

  • Функция ДВССЫЛ обращается к значению в ячейке C1. Там в виде текстовой строки записан адрес «A1».
  • Функция ДВССЫЛ направляется по этому адресу в ячейку A1, откуда извлекает записанное в ней значение, то есть число 555.

Итак, в этом примере функция ДВССЫЛ преобразует текстовую строку в ссылку на ячейку.

Аналогичным образом можно получить ссылку на диапазон. Для этого просто нужно функции ДВССЫЛ указать два адреса – начальный и конечный. Вы видите это на скриншоте ниже.

Формула   ДВССЫЛ(C1&»:»&C2) извлекает адреса из указанных ячеек и превращается в =ДВССЫЛ(«A1:A5»).

В итоге мы получаем ссылку =A1:A5

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

Как использовать ДВССЫЛ в Excel — примеры формул

Как показано в приведенном выше примере, вы можете использовать функцию ДВССЫЛ, чтобы записать адрес ячейки как обычную текстовую строку и получить в результате значение этой ячейки. Однако этот простой пример — не более чем намек на возможности ДВССЫЛ.

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

Создание косвенных ссылок из значений ячеек

Как вы помните, функция ДВССЫЛ в Excel позволяет использовать стили ссылок A1 и R1C1. Обычно вы не можете использовать оба стиля на одном листе одновременно. Вы можете переключаться между двумя типами ссылок только с помощью опции «Файл» > «Параметры» > «Формулы» > R1C1 . По этой причине пользователи Excel редко рассматривают использование R1C1 в качестве альтернативного подхода к созданию ссылок.

В формуле ДВССЫЛ вы можете использовать любой тип ссылки на одном и том же листе, если хотите. Прежде чем мы двинемся дальше, давайте более подробно рассмотрим разницу между стилями ссылок A1 и R1C1.

Стиль A1 — это обычный и привычный всем нам тип адресации в Excel, который указывает сначала столбец, за которым следует номер строки. Например, B2 обозначает ячейку на пересечении столбца B и строки 2.

Стиль R1C1 является обозначает координаты ячейки наоборот – за строками следуют столбцы, и к этому нужно привыкнуть:) Например, R5C1 относится к ячейке A5, которая находится в строке 5, столбце 1 на листе. Если после буквы не следует какая-либо цифра, значит, вы имеете в виду ту же строку или столбец, в которых записана сама формула.

А теперь давайте сравним на простом примере, как функция ДВССЫЛ обрабатывает адреса вида A1 и R1C1:

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

  • Формула в ячейке D1:   =ДВССЫЛ(C1)

Это самый простой вариант. Формула обращается к ячейке C1, извлекает ее значение — текстовую строку «A2» , преобразует ее в ссылку на ячейку, переходит к ячейке A2 и возвращает ее значение, равное 456.

  • Формула в ячейке D3:  =ДВССЫЛ(C3;ЛОЖЬ)

ЛОЖЬ во втором аргументе указывает, что указанное значение (C3) следует рассматривать как ссылку на ячейку в формате R1C1, т. е. сначала идет номер строки, за которым следует номер столбца. Таким образом, наша формула ДВССЫЛ интерпретирует значение в ячейке C3 (R2C1) как ссылку на ячейку на пересечении строки 2 и столбца 1, которая как раз и является ячейкой A2.

Создание ссылок из значений ячеек и текста

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

В следующем примере формула =ДВССЫЛ(«А»&C1) возвращает значение из ячейки А1 на основе следующей логической цепочки:

Функция ДВССЫЛ объединяет элементы в первом аргументе ссылка_на_ячейку — текст «А» и значение из ячейки C1. Значение в C1 – это число 1, что в результате формирует адрес А1. Формула переходит к ячейке А1 и возвращает ее значение – 555.

Использование функции ДВССЫЛ с именованными диапазонами

Помимо создания ссылок на ячейки из текстовых строк, вы можете заставить функцию Excel ДВССЫЛ создавать ссылки на именованные диапазоны.

Предположим, у вас есть следующие именованные диапазоны на вашем листе:

  • Яблоки – С2:E2
  • Лимоны — C3: E3
  • Апельсины – C4:E4 и так далее по каждому товару.

Чтобы создать динамическую ссылку Excel на любой из указанных выше диапазонов с цифрами продаж, просто запишите его имя, скажем, в H1, и обратитесь к этой ячейке при помощи формулы =ДВССЫЛ(H1).

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

  • =СУММ(ДВССЫЛ (H1))
  • =СРЗНАЧ(ДВССЫЛ (H1))
  • =МАКС(ДВССЫЛ (H1))
  • =МИН(ДВССЫЛ (H1))

Теперь, когда вы получили общее представление о том, как работает функция ДВССЫЛ в Excel, мы можем поэкспериментировать с более серьёзными формулами.

ДВССЫЛ для ссылки на другой рабочий лист

Полезность функции Excel ДВССЫЛ не ограничивается созданием «динамических» ссылок на ячейки. Вы также можете использовать ее для формирования ссылки на другие листы.

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

Нам поможет формула:

=ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

Давайте разбираться, как работает эта формула.

Как вы знаете, обычным способом сослаться на другой лист в Excel является указание имени этого листа, за которым следуют восклицательный знак и ссылка на ячейку или диапазон, например Лист1!A1:С10. Так как имя листа часто содержит пробелы, вам лучше заключить его (имя, а не пробел :) в одинарные кавычки, чтобы предотвратить возможную ошибку, например,

‘Лист 1!’$A$1 или для диапазона – ‘Лист 1!’$A$1:$С$10 .

Наша задача – сформировать нужный текст и передать его функции ДВССЫЛ. Все, что вам нужно сделать, это:

  • записать имя листа в одну ячейку,
  • букву столбца – в другую,
  • номер строки – в третью,  
  • объединить всё это в одну текстовую строку,
  • передать этот адрес функции ДВССЫЛ. 

Помните, что в текстовой строке вы должны заключать каждый элемент, кроме номера строки, в двойные кавычки и затем связать все элементы в единое целое с помощью оператора объединения (&).

С учетом вышеизложенного получаем шаблон ДВССЫЛ для создания ссылки на другой лист:

ДВССЫЛ («‘» & имялиста & «‘!» & имя столбца нужной ячейки & номер строки нужной ячейки )

Возвращаясь к нашему примеру, вы помещаете имя листа в ячейку A2 и вводите адреса столбца и строки в B2 и С2, как показано на скриншоте выше. В результате вы получите следующую формулу:

ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

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

Замечание.

  • Если какая-либо из ячеек, содержащих имя листа и адреса ячеек (A2, B2 и c2 в приведенной выше формуле), будет пуста, ваша формула вернет ошибку. Чтобы предотвратить это, вы можете обернуть функцию ДВССЫЛ в функцию ЕСЛИ :

ЕСЛИ(ИЛИ(A2=»»;B2=»»;C2-“”); «»; ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

  • Чтобы формула ДВССЫЛ, ссылающаяся на другой лист, работала правильно, указанный лист должен быть открыт в Экселе, иначе формула вернет ошибку #ССЫЛКА. Чтобы не видеть сообщение об ошибке, которое может портить вид вашей таблицы, вы можете использовать функцию ЕСЛИОШИБКА, которая будет отображать пустую строку при любой возникшей ошибке:

ЕСЛИОШИБКА(ДВССЫЛ(«‘»&A2&»‘!»&B2&C2); «»)

Формула ДВССЫЛ для ссылки на другую книгу Excel

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

Чтобы упростить задачу, давайте начнем с создания ссылки на другую книгу обычным способом (апострофы добавляются, если имена вашей книги и/или листа содержат пробелы):
‘[Имя_книги.xlsx]Имя_листа’!Арес_ячейки

Но, чтобы формула была универсальной, лучше апострофы добавлять всегда – лишними не будут .

Предполагая, что название книги находится в ячейке A2, имя листа — в B2, а адрес ячейки — в C2 и D2, мы получаем следующую формулу:

=ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2)

Поскольку вы не хотите, чтобы ячейки, содержащие имена книг и листов, изменялись при копировании формулы в другие ячейки, вы можете зафиксировать их, используя абсолютные ссылки на ячейки – $A$2 и $B$2 соответственно.

Если адреса ячеек заменить их значениями, то мы получим такой промежуточный результат:

=ДВССЫЛ(«‘[INDIRECT.xlsx]Продажи’!D3»)

Ну а итоговый результат вы видите на скриншоте ниже.

Hbc6

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

=ДВССЫЛ(«‘[» & Название книги & «]» & Имя листа & «‘!» & Адрес ячейки )

Примечание. Рабочая книга, на которую ссылается ваша формула, всегда должна быть открыта, иначе функция ДВССЫЛ выдаст ошибку #ССЫЛКА. Как обычно, функция ЕСЛИОШИБКА может помочь вам избежать этого:

=ЕСЛИОШИБКА(ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2); «»)

Использование функции Excel ДВССЫЛ чтобы зафиксировать ссылку на ячейку

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

Чтобы проиллюстрировать разницу, сделайте следующее:

  1. Введите любое значение в любую ячейку, например, число 555 в ячейку A1.
  2. Обратитесь к A1 из двух других ячеек тремя различными способами: =A1, =ДВССЫЛ(«A1») и ДВССЫЛ(С1), где в С1 записан адрес «А1».
  3. Вставьте новую строку над строкой 1.

Видите, что происходит? Ячейка с логическим оператором =А1 по-прежнему возвращает 555, потому что ее формула была автоматически изменена на =A2 после вставки строки. Ячейки с формулой ДВССЫЛ теперь возвращают нули, потому что формулы в них не изменились при вставке новой строки и они по-прежнему ссылаются на ячейку A1, которая в настоящее время пуста:

После этой демонстрации у вас может сложиться впечатление, что функция ДВССЫЛ больше мешает, чем помогает. Ладно, попробуем по-другому.

Предположим, вы хотите просуммировать значения в ячейках A2:A5, и вы можете легко сделать это с помощью функции СУММ:

=СУММ(A2:A5)

Однако вы хотите, чтобы формула оставалась неизменной, независимо от того, сколько строк было удалено или вставлено. Самое очевидное решение — использование абсолютных ссылок — не поможет. Чтобы убедиться, введите формулу =СУММ($A$2:$A$5) в какую-нибудь ячейку, вставьте новую строку, скажем, в строку 3, и увидите формулу, преобразованную в =СУММ($A$2:$A$6).

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

Решение состоит в использовании функции ДВССЫЛ, например:

=СУММ(ДВССЫЛ(«A2:A5»))

Поскольку Excel воспринимает «A1: A5» как простую текстовую строку, а не как ссылку на диапазон, он не будет вносить никаких изменений при вставке или удалении строки (строк), а также при их сортировке.

Использование ДВССЫЛ с другими функциями Excel

Помимо СУММ, ДВССЫЛ часто используется с другими функциями Excel, такими как СТРОКА, СТОЛБEЦ, АДРЕС, ВПР, СУММЕСЛИ и т. д.

Пример 1. Функции ДВССЫЛ и СТРОКА

Довольно часто функция СТРОКА используется в Excel для возврата массива значений. Например, вы можете использовать следующую формулу массива (помните, что для этого нужно нажать Ctrl + Shift + Enter), чтобы вернуть среднее значение трех наименьших чисел в диапазоне B2:B13

{=СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(1:3)))}

Однако, если вы вставите новую строку в свой рабочий лист где-нибудь между строками 1 и 3, диапазон в функции СТРОКА изменится на СТРОКА(1:4), и формула вернет среднее значение четырёх наименьших чисел вместо трёх.

Чтобы этого не произошло, вставьте ДВССЫЛ в функцию СТРОКА, и ваша формула массива всегда будет оставаться правильной, независимо от того, сколько строк будет вставлено или удалено:

={СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}

Аналогично, если нам нужно найти сумму трёх наибольших значений, можно использовать ДВССЫЛ вместе с функцией СУММПРОИЗВ.

Вот пример:

={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}

А чтобы указать переменное количество значений, которое мы хотим сосчитать, можно это число вынести в отдельную ячейку. К примеру, в С1 запишем цифру 3. Тогда формулу можно изменить таким образом:

={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:»&C1))))}

Согласитесь, что получается достаточно гибкий расчёт.

Пример 2. Функции ДВССЫЛ и АДРЕС

Вы можете использовать Excel ДВССЫЛ вместе с функцией АДРЕС, чтобы получить значение в определенной ячейке на лету.

Как вы помните, функция АДРЕС используется в Excel для получения адреса ячейки по номерам строк и столбцов. Например, формула =АДРЕС(1;3) возвращает текстовую строку «$C$1», поскольку C1 — это ячейка на пересечении 1-й строки и 3-го столбца.

Чтобы создать ссылку на ячейку, вы просто встраиваете функцию АДРЕС в формулу ДВССЫЛ, например:

=ДВССЫЛ(АДРЕС(1;3))

Конечно, эта несложная формула лишь демонстрирует технику. Более сложные примеры использования функций ДВССЫЛ И АДРЕС в Excel см. в статье Как преобразовать строки в столбцы в Excel .

И вот еще несколько примеров формул в которых используется функция ДВССЫЛ, и которые могут оказаться полезными:

  • ВПР и ДВССЫЛ — как динамически извлекать данные из разных таблиц (см. пример 2).
  • Excel ДВССЫЛ и СЧЁТЕСЛИ — как использовать функцию СЧЁТЕСЛИ в несмежном диапазоне или нескольких выбранных ячейках.

Использование ДВССЫЛ для создания выпадающих списков

Вы можете использовать функцию Excel ДВССЫЛ с инструментом проверки данных для создания каскадных выпадающих списков. Они показывают различные варианты выбора в зависимости от того, какое значение пользователь указал в предыдущем выпадающем списке.

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

В ячейке А1 вы создаете простой выпадающий список с названиями имеющихся именованных диапазонов. Для второго зависимого выпадающего списка в ячейке В2 вы используете простую формулу  =ДВССЫЛ(A1), где A1 — это ячейка, в которой выбрано имя нужного именованного диапазона.

К примеру, выбрав в первом списке второй квартал, во втором списке мы видим месяцы этого квартала.

Рис9

Чтобы сделать более сложные трехуровневые меню или раскрывающиеся списки с многоуровневыми записями, вам понадобится немного более сложная формула ДВССЫЛ в сочетании с вложенной функцией ПОДСТАВИТЬ.

Подробное пошаговое руководство по использованию ДВССЫЛ с проверкой данных Excel смотрите в этом руководстве: Как создать зависимый раскрывающийся список в Excel.

Функция ДВССЫЛ Excel — возможные ошибки и проблемы

Как показано в приведенных выше примерах, функция ДВССЫЛ весьма полезна при работе со ссылками на ячейки и диапазоны. Однако не все пользователи Excel охотно принимают этот подход, в основном потому, что постоянное использование ДВССЫЛ приводит к отсутствию прозрачности формул Excel и несколько затрудняет их понимание. Функцию ДВССЫЛ сложно просмотреть и проанализировать ее работу, поскольку ячейка, на которую она ссылается, не является конечным местоположением значения, используемого в формуле. Это действительно довольно запутанно, особенно при работе с большими сложными формулами.

В дополнение к сказанному выше, как и любая другая функция Excel, ДВССЫЛ может вызвать ошибку, если вы неправильно используете аргументы функции. Вот список наиболее типичных ошибок и проблем:

Ошибка #ССЫЛКА! 

Чаще всего функция ДВССЫЛ возвращает ошибку #ССЫЛКА!  в следующих случаях:

  1. Аргумент ссылка_на_ячейку не является допустимой ссылкой Excel. Если вы пытаетесь передать функции текст, который не может обозначать ссылку на ячейку (например, «A1B0»), то формула приведет к ошибке #ССЫЛКА!. Во избежание возможных проблем проверьте аргументы функции ДВССЫЛ .
  2. Превышен предел размера диапазона. Если аргумент ссылка_на_ячейку вашей формулы ДВССЫЛ ссылается на диапазон ячеек за пределами строки  1 048 576 или столбца  16 384, вы также получите ошибку #ССЫЛКА в Excel 2007 и новее. Более ранние версии Excel игнорируют превышение этого лимита и действительно возвращают некоторое значение, хотя часто не то, что вы ожидаете.
  3. Используемый в формуле лист или рабочая книга закрыты.Если ваша формула с ДВССЫЛ адресуется на другую книгу или лист Excel, то эта другая книга или электронная таблица должны быть открыты, иначе ДВССЫЛ возвращает ошибку #ССЫЛКА! . Впрочем, это требование характерно для всех формул, которые ссылаются на другие рабочие книги Excel.

Ошибка #ИМЯ? 

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

Ошибка из-за несовпадения региональных настроек.

Также распространенная проблема заключается не в названии функции ДВССЫЛ, а в различных региональных настройках для разделителя списка

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

В стандартной конфигурации Windows для Северной Америки и некоторых других стран разделителем списка по умолчанию является запятая. 

В результате при копировании формулы между двумя разными языковыми стандартами Excel вы можете получить сообщение об ошибке « Мы обнаружили проблему с этой формулой… », поскольку разделитель списка, используемый в формуле, отличается от того, что установлен на вашем компьютере. Если вы столкнулись с этой ошибкой при копировании какой-либо НЕПРЯМОЙ формулы из этого руководства в Excel, просто замените все запятые (,) точками с запятой (;) (либо наоборот). В обычных формулах Excel эта проблема, естественно, не возникнет. Там Excel сам поменяет разделители исходя из ваших текущих региональных настроек.

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

Надеемся, что это руководство пролило свет для вас на использование ДВССЫЛ в Excel. Теперь, когда вы знаете ее сильные стороны и ограничения, пришло время попробовать и посмотреть, как функция ДВССЫЛ может упростить ваши задачи в Excel. Спасибо за чтение!

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

Как удалить сразу несколько гиперссылок В этой короткой статье я покажу вам, как можно быстро удалить сразу все нежелательные гиперссылки с рабочего листа Excel и предотвратить их появление в будущем. Решение работает во всех версиях Excel,…
Как использовать функцию ГИПЕРССЫЛКА В статье объясняются основы функции ГИПЕРССЫЛКА в Excel и приводятся несколько советов и примеров формул для ее наиболее эффективного использования. Существует множество способов создать гиперссылку в Excel. Чтобы сделать ссылку на…
Гиперссылка в Excel: как сделать, изменить, удалить В статье разъясняется, как сделать гиперссылку в Excel, используя 3 разных метода. Вы узнаете, как вставлять, изменять и удалять гиперссылки на рабочих листах, а также исправлять неработающие ссылки. Гиперссылки широко используются…
Как сделать зависимый выпадающий список в Excel? Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах,…

Вставка данных из другого листа в Excel

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

Перейдем на лист «Прайс-лист». Посмотрим, что мы здесь имеем. Стоимость первого товара в рублях — доски для сноуборда «Balance» — находится в ячейке «D6». Запомним это.

Переходим на наш лист. Отмечаем ячейку, где должна располагаться цена доски «Balance» в рублях. В данном случае это ячейка «Е2». В строке формул пишем следующее выражение: «=’Прайс-лист’!D6». В апострофах (‘…’) пишем название листа в документе, откуда мы собираемся брать данные. После восклицательного знака идет название ячейки. Ничего сложного.

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

Аналогично вносим формулы вычисления во все остальные ячейки.

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

Подключение к другой книге

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

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

С помощью функции Получить и преобразовать данные» (Power Query) Excel можно подключиться к книге Excel.

На вкладке Данные щелкните Получить данные > Из файла > Из книги. Если вы не видите кнопки Получить данные, нажмите кнопку Создать запрос и выберите пункты Из файла > Из книги.

Найдите книгу в окне Импорт данных.

В окне Навигатор выберите таблицу или лист, которые вы хотите импортировать, а затем нажмите кнопку Загрузить или Изменить.

В Excel 2010 и 2013 существует два способа подключения к другой книге. Рекомендуется использовать Power Query (для этого нужно скачать надстройку Power Query). Если вам не удается скачать надстройку Power Query, вы можете использовать мастер подключения к данным.

На вкладке ленты Power Query щелкните Из файла > Из Excel.

Перейдите к книге.

В окне Навигатор выберите таблицу или лист, которые вы хотите импортировать, а затем нажмите кнопку Загрузить или Изменить.

Мастер подключения к данным

Шаг 1. Создание подключения к книге

На вкладке Данные нажмите кнопку Подключения.

В диалоговом окне Подключения к книге нажмите кнопку Добавить.

В нижней части диалогового окна Существующие подключения нажмите кнопку Найти другие.

Найдите нужную книгу и нажмите кнопку Открыть.

В диалоговом окне Выбор таблицы выберите нужную таблицу (лист) и нажмите кнопку ОК.

В диалоговом окне Выбор таблицы листы называются таблицами.

Одновременно можно добавить только одну таблицу.

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

Чтобы добавить дополнительные таблицы, повторите шаги 2–5.

Нажмите кнопку Закрыть.

Шаг 2. Добавление таблиц к листу

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

В диалоговом окне Импорт данных выберите расположение данных в книге и как их представить: в виде таблицы, сводной диаграммы или сводной таблицы.

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

Мастер подключения к данным

Шаг 1. Создание подключения к книге

На вкладке Данные нажмите кнопку Подключения.

В диалоговом окне Подключения к книге нажмите кнопку Добавить.

В нижней части диалогового окна Существующие подключения нажмите кнопку Найти другие.

Найдите нужную книгу и нажмите кнопку Открыть.

В диалоговом окне Выбор таблицы выберите нужную таблицу (лист) и нажмите кнопку ОК.

В диалоговом окне Выбор таблицы листы называются таблицами.

Одновременно можно добавить только одну таблицу.

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

Чтобы добавить дополнительные таблицы, повторите шаги 2–5.

Нажмите кнопку Закрыть.

Шаг 2. Добавление таблиц к листу

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

В диалоговом окне Импорт данных выберите расположение данных в книге и как их представить: в виде таблицы, сводной диаграммы или сводной таблицы.

Обновление данных книги

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Сводные таблицы Excel

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

Способ 1. Функция ДВССЫЛ

В простом случае можно использовать функцию ДВССЫЛ (INDIRECT), чтобы сформировать правильную ссылку на внешний файл. Например, если необходимо создать выпадающий список с содержимым ячеек А1:А10 с листа Список из файла Товары.xls, нужно открыть окно проверки данных через вкладку Данные – Проверка данных (Data – Validation) и в поле Источник (Source) ввести следующую конструкцию: =ДВССЫЛ(«[Товары.xls]Список!$A$1:$A$10») .

Чтобы сформировать правильную ссылку на внешний файл можно использовать функцию ДВССЫЛ

Функция ДВССЫЛ (INDIRECT) преобразует текстовую строку аргумента в реальный адрес, используемый для ссылки на данные. Обратите внимание, что имя файла заключается в квадратные скобки, а восклицательный знак служит разделителем имени листа и адреса диапазона ячеек. Если имя файла содержит пробелы, то его надо заключить в апострофы.

Если файл с исходными данными для списка лежит в другой папке, необходимо указать полный путь к файлу, например, следующим образом: =ДВССЫЛ(«‘C:Поставщики[Товары.xls]Список’!$A$1:$A$10») . В данном случае не забудьте заключить в апострофы полный путь к файлу и имя листа. Минус этого способа только один – выпадающий список будет корректно работать только в том случае, если файл Товары.xls открыт.

Способ 2. Импорт данных

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

Сначала откройте файл-источник, где находятся эталонные значения для выпадающего списка (назовем его, допустим, Справочник.xlsx). Выделите диапазон с данными для списка и отформатируйте его как таблицу с помощью кнопки Форматировать как таблицу на вкладке Главная (Home – Format as Table). Обратите внимание, что у такой таблицы предварительно должна быть сделана «шапка» – строка заголовка. После этого файл Справочник можно сохранить и закрыть.

Теперь откроем книгу, где мы хотим создать выпадающий список (условно назовем ее Бланк.xlsx). Вставим чистый лист (Alt+F11), выберем на вкладке Данные – Существующие подключения – Найти другие (Data – Existing Connections – Browse for more) и укажем наш файл Справочник.xlsx. Появится диалоговое окно, в котором Excel спросит нас о том, какую именно таблицу мы хотим импортировать (если их в файле было несколько).

Теперь откроем книгу, где мы хотим создать выпадающий список

После нажатия на ОК появится еще одно последнее окно, где можно указать удобную ячейку для импорта и, нажав на кнопку Свойства (Properties), задать частоту обновления информации.

После нажатия на ОК появится еще одно последнее окно

Тут можно включить флажок Обновить при открытии файла (Refresh on open), чтобы каждый раз при открытии этой книги иметь последнюю версию списка.

Можно включить флажок Обновить при открытии файла

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

Excel загрузит данные из созданной таблицы

Если выделить импортированный список (диапазон А2:А7 в нашем случае), то в строке формул можно увидеть его имя, которое он автоматически получает при вставке.

В строке формул можно увидеть имя импортированного списка

Это имя также можно увидеть в Диспетчере имен на вкладке Формулы (Formulas – Name Manager).

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

  1. Выделяем ячейки, где хотим создать выпадающие списки.
  2. На вкладке Данные жмем на кнопку Проверка данных (Data – Validation).
  3. Выбираем в раскрывающемся списке разрешенных типов данных вариант Список (List) и вводим в поле Источник (Source) следующую формулу: =ДВССЫЛ(«Таблица_Справочник») . В англоязычной версии Excel это будет =INDIRECT(«Таблица_Справочник») .

Осталось создать выпадающий список

Логично было бы ввести просто имя нашего диапазона, но, к сожалению, Microsoft Excel почему-то не воспринимает имена таблиц в поле Источник. Поэтому мы используем тактическую хитрость – функцию ДВССЫЛ (INDIRECT), которая превращает свой аргумент (имя нашей таблицы) в рабочую ссылку.

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

После нажатия на ОК список начнет работать и автоматически обновляться

Excel At Excel вып.3: Собираем данные с разных листов

Дано: 22 таблицы унифицированного формата с перечнем помещений от 22 дочерних предприятий.

Задача: сделать сводную таблицу с данными всех 22 таблиц

Итак, решение. Есть три варианта решения данной задачи. Первый — использовать встроенную (начиная с excel 2013) надстройку PowerPivot (об этом методе мы поговорим позднее). Второй — посредством сводной таблицы через несколько диапазонов консолидации. Не люблю этот метод, т.к. такая сводная таблица имеет существенно более ограниченный функционал по сравнению с простой сводной таблицей. Наконец, третий вариант — это создать общую таблицу с использованием функции INDIRECT (ДВССЫЛ). Этому методу и посвятим сегодня наш пост.

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

1) как заставить общую таблицу «переключаться» с одного листа данных на другой?;

2) как заставить ее делать это в нужный момент (когда закончились строки на одном листе)?

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

Обратите внимание на формулу в столбце Кол-во записей. Мы могли бы использовать просто COUNTA (СЧЁТА) со ссылкой на каждый лист. Но это потребует времени для «линковки» каждого листа. Плюс мы с вами готовим универсальные решения, которые будут работать в независимости от количества листов.

Именно для этого в функцию COUNTA (СЧЁТА) и внедряется эта чуднАя функция INDIRECT (ДВССЫЛ). Остановимся на ней подробнее.

Функция имеет, по сути, единственный параметр — ref_text (ссылка_на_текст). Что делает эта функция? Всего-навсего преобразует текст в ссылку на ячейку. То есть она преобразует текст, например, «А1» в ссылку и возвращает значение ячейки А1.

Соответственно, зная несложные правила работы с текстом в Excel, мы можем легко сделать текст внутри изменяемым, а значит можем сделать и изменяемыми ссылки, которые будет возвращать функция INDIRECT (ДВССЫЛ).

Разберем пример выше. Функция INDIRECT (ДВССЫЛ) имеет следующий вид:

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

Соответственно, в нашем случае у нас неизменен столбец B:B, а вот название листа меняется. Для «автоматизации» формулы заменяем Название листа на ссылку на название листа с данными по соответствующему обществу (столбец Название листа). Получаем следующее:

где все, что подчеркнуто — текст, а выделено жирным — ссылки.

ВАЖНО! Обратите внимание на кавычки и конкатенацию («склеивание») при помощи амперсента. Не забудьте, что текст вносится в кавычках и соединяется со ссылками при помощи символа &.

Получается, что INDIRECT (ДВССЫЛ) получает название листа из ячеек в столбце А:А (Название листа), а диапазон у нас прописан фиксированно текстом (В:В). COUNTA (СЧЁТА) же просто считает количество строк в столбце В:В на соответствующем листа за вычетом заголовка.

Перейдем к формированию общей таблицы. Как вы уже наверное прикинули, у нас будет два вложенных цикла: один — количество обществ, второй — количество записей на листе данных по соответствующему обществу. Соответственно, нам потребуются два вспомогательных столбца (определим их в столбцы А и В). Ровно так же, как мы делали на примере в выпуске 2 «Циклы в Excel без VBA», пишем формулу первого цикла:

=IF(A2=»»;»»;IF(COUNTIF($A$2:A2;A2)=OFFSET(‘Список обществ’!$E$2;A2-1;0);IF(A2+1>COUNTA(‘Список обществ’!A:A)-1;»»;A2+1);A2))

Затем пишем формулу второго цикла:

Далее при помощи уже знакомой нам функции OFFSET (СМЕЩ) заполняем столбцы из таблицы на листе Список обществ.

Осталось подтянуть данные с 22 листов по обществам. Тут нам опять поможет OFFSET (СМЕЩ), но уже в паре с INDIRECT (ДВССЫЛ).

OFFSET (СМЕЩ) передает в формулу название листа, а конструкция B2+1 — номер строки в столбце Е на том листе.

ВАЖНО! Обратите внимание, что OFFSET (СМЕЩ) вкладывается внутрь INDIRECT (ДВССЫЛ), а не наоборот.

Трюк №49. Эффективная вставка данных из другой рабочей книги Excel

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

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

В рабочей книге, где будет находиться ваша сводная таблица, вставьте новый рабочий лист и присвойте ему имя Data. Откройте рабочую книгу и рабочий лист с нужными данными. В любой пустой ячейке на этом рабочем листе введите формулу =IF(A1=»»;»»;A1) , в русской версии Excel =ЕСЛИ(А1=»»;»»;А1) , где А1 — первый заголовок таблицы данных.

Выделите ячейку А1. Затем вырежьте ее, активируйте исходную рабочую книгу и вставьте ячейку А1 в ячейку А1 на листе Data. Вы получите ссылку на другую рабочую книгу. Скопируйте эту ячейку в такое количество столбцов, сколько заголовков содержит источник данных. Затем выберите команду Формулы → Имя → Присвоить (Formulas → Name → Define) и в поле Имя (Names in workbook) введите PivotData. В поле Формула (Refers to) введите формулу =OFFSET($А$1;0;0;COUNTA($А:$А);COUNTA($1:$1)) , в русской версии Excel =СМЕЩ($А$1;0;0;СЧЁТЗ($А:$А);СЧЁТЗ($1:$1)) .

Щелкните на кнопке Добавить (Add), затем на кнопке ОК. После этого нужно добавить код, который будет выполняться каждый раз при открытии рабочей книги. Правой кнопкой мыши щелкните значок Excel (расположенный в левом верхнем углу окна), в контекстном меню выберите команду Исходный текст (View Code) и введите код из листинга 4.2.

// Листинг 4.2 Private Sub Workbook_0pen() With Worksheets(«Data») .Range(«2:1000»).Clear .Range(«1:1»).AutoFi11 .Range(«1:1000») .Range(«2:1000») = .Range(«2:1000»).Value End With End Sub

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

Теперь, если необходимо, можно скрыть этот лист, выбрав команду Формат → Лист → Скрыть (Format → Sheet → Hide) или воспользовавшись способом, описанным в разделе «Трюк №5. Как скрыть лист, чтобы его невозможно было отобразить».

Теперь, чтобы использовать в качестве основы сводной таблицы этот динамический именованный диапазон, выделите любую ячейку сводной таблицы и на панели инструментов Сводные таблицы (PivotTable) выберите команду Сводная таблица → Мастер сводных таблиц (PivotTable → Wizard). Щелкайте кнопку Назад (Back), пока не достигнете шага 1. Установите первый переключатель В списке или базе данных Microsoft Excel (Microsoft Excel List or Database), щелкните на кнопке Далее (Next) и на шаге 2 введите =PivotData (имя динамического именованного диапазона). Щелкните на кнопке Готово (Finish).

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

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

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

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

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

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