Интеграция данных в excel

Аннотация.    Это первый учебник из серии, который поможет ознакомиться с программой Excel и ее возможностями объединения и анализа данных, а также научиться легко использовать их. С помощью этой серии учебников вы научитесь создавать с нуля и совершенствовать рабочие книги Excel, строить модели данных и создавать удивительные интерактивные отчеты с использованием надстройки Power View. В этих учебниках приводится описание возможностей средств бизнес-аналитики Майкрософт в Excel, сводных таблиц, Power Pivot и Power View.

Примечание: В этой статье описаны модели данных Excel 2013. Тем не менее те же функции моделирования данных и Power Pivot, Excel 2013, также относятся к Excel 2016.

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

Учебники этой серии

  1. Импорт данных в Excel 2013 и создание модели данных

  2. Расширение связей модели данных с Excel, Power Pivot и DAX

  3. Создание отчетов Power View на основе карт

  4. Объединение интернет-данных и настройка параметров отчета Power View по умолчанию

  5. Справка по Power Pivot

  6. Создание впечатляющих отчетов Power View, часть 2

В этом учебнике вы начнете работу с пустой книги Excel.

Разделы учебника

  • Импорт данных из базы данных

  • Импорт данных из электронной таблицы

  • Импорт данных с помощью копирования и вставки

  • Создание связи между импортированными данными

  • Контрольная точка и тест

В конце учебника есть тест, с помощью которого можно проверить свои знания.

В этом учебном ряду используются данные об олимпийских медалях, странах, принимающих олимпийских играх, а также различных олимпийских соревнованиях. Мы рекомендуем вам перейти к каждому учебнику по порядку. Кроме того, в учебниках Excel 2013 с Power Pivot включена. Дополнительные сведения о Excel 2013 можно найти здесь. Чтобы получить инструкции по Power Pivot, щелкните здесь.

Импорт данных из базы данных

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

Сначала загрузим данные из Интернета. Эти данные об олимпийских медалях являются базой данных Microsoft Access.

  1. Чтобы скачать файлы, которые мы используем в этом ряду учебников, перейдите по следующим ссылкам: Скачайте каждый из четырех файлов в папку, которую легко найти, например «Загрузки» или «Мои документы», или в новую папку:
    > OlympicMedals.accdb Access
    >OlympicSports.xlsx Excel книги
    > Population.xlsx Excel книги
    >DiscImage_table.xlsx Excel книги

  2. Откройте пустую книгу в Excel 2013.

  3. Выберите пункт ДАННЫЕ > Получение внешних данных > Из Access. Лента динамически изменяется по ширине книги, поэтому команды на ленте могут выглядеть не так, как в представленных ниже окнах. В первом окне показана лента при развернутой книге, а во втором ширина книги изменена таким образом, что она занимает лишь часть окна.

    Импорт данных из Access

    Импорт данных из Access с маленькой лентой

  4. Выберите файл ОлимпийскиеМедали.accdb и нажмите кнопку Открыть. Появится окно «Выбор таблицы», в котором отобразятся таблицы, найденные в базе данных. Таблицы в базе данных похожи на листы или таблицы в Excel. Установите флажок Разрешить выбор нескольких таблиц. Затем нажмите кнопку ОК.

    Окно "Выбор таблицы"

  5. Появится окно «Импорт данных».

    Примечание: Обратите внимание на то, что в нижней части окна вы можете добавить эти данные в модель данных ,показанную на следующем экране. Модель данных создается автоматически при одновременном импорте или работе с двумя или более таблицами. Модель данных интегрирует таблицы, позволяя провести большой анализ с помощью с помощью Power Pivot, таблиц и Power View. При импорте таблиц из базы данных существующие связи между ними используются для создания модели данных в Excel. Модель данных в Excel, но ее можно просматривать и изменять непосредственно с помощью Power Pivot надстройки. Модель данных подробно рассмотрена далее в этом учебнике.

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

    Окно "Импорт данных"

  6. После завершения импорта данных будет создана сводная таблица на основе импортированных таблиц.

    Пустая сводная таблица

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

Просмотр данных в сводной таблице

Просматривать импортированные данные удобнее всего с помощью сводной таблицы. В сводной таблице можно перетаскивать поля (похожие на столбцы в Excel) из таблиц (например, таблиц, импортированных из базы данных Access) в разные области, настраивая представление данных. Сводная таблица содержит четыре области: ФИЛЬТРЫ, СТОЛБЦЫ, СТРОКИ и ЗНАЧЕНИЯ.

Четыре области полей сводной таблицы

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

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

  1. В разделе Поля сводной таблицы разверните таблицу Medals, щелкнув расположенную рядом с ней стрелку. В развернутой таблице Medals найдите поле NOC_CountryRegion и перетащите его в область СТОЛБЦЫ. Аббревиатура NOC обозначает Национальный олимпийский комитет — организационную единицу уровня страны или региона.

  2. Затем перетащите виды спорта из таблицы Disciplines в область СТРОКИ.

  3. Давайте отфильтруем дисциплины, чтобы отображались только пять видов спорта: стрельба из лука (Archery), прыжки в воду (Diving), фехтование (Fencing), фигурное катание (Figure Skating) и конькобежный спорт (Speed Skating). Это можно сделать в области Поля сводной таблицы или в фильтре Метки строк в самой сводной таблице.

    1. Щелкните в любом месте этой Excel, чтобы выбрать ее. В списке полей таблицы, в котором расширена таблица Disciplines, наведите курсор на поле Discipline и справа от поля появится стрелка в списке. Щелкните стрелку вниз, щелкните (Выделить все),чтобы удалить все выбранные фигуры, а затем прокрутите список вниз и выберите Archery, Diving, Fencing, Figure Skating и Speed Skating. Нажмите кнопку ОК.

    2. Либо щелкните в разделе сводной таблицы Метки строк стрелку раскрывающегося списка рядом с полем Метки строк, нажмите кнопку (Выбрать все), чтобы снять отметку со всех выбранных параметров, а затем прокрутите вниз и выберите пункты Archery, Diving, Fencing, Figure Skating и Speed Skating. Нажмите кнопку ОК.

  4. В разделе Поля сводной таблицы перетащите поле Medal из таблицы Medals в область ЗНАЧЕНИЯ. Поскольку значения должны быть числовыми, Excel автоматически изменит поле Medal на Count of Medal.

  5. В таблице Medals снова выберите поле Medal и перетащите его в область ФИЛЬТРЫ.

  6. Давайте отфильтруем сводную таблицу таким образом, чтобы отображались только страны или регионы, завоевавшие более 90 медалей. Вот как это сделать.

    1. В сводной таблице щелкните стрелку раскрывающегося списка рядом с полем Метки столбцов.

    2. Выберите Фильтры по значению, а затем — Больше…

    3. Введите 90 в последнем поле (справа). Нажмите кнопку ОК.
      Окно "Фильтр по значению"

Сводная таблица будет иметь следующий вид:

Обновленная сводная таблица

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

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

Импорт данных из таблицы

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

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

  1. Вставьте новый лист Excel и назовите его Sports.

  2. Перейдите к папке, в которой содержатся загруженные файлы образцов данных, и откройте файл OlympicSports.xlsx.

  3. Выберите и скопируйте данные на листе Sheet1. При выборе ячейки с данными, например, ячейки А1, можно нажать клавиши Ctrl + A, чтобы выбрать все смежные данные. Закройте книгу OlympicSports.xlsx.

  4. На листе Sports поместите курсор в ячейку А1 и вставьте данные.

  5. Нажмите клавиши Ctrl + T, чтобы отформатировать выделенные данные в виде таблицы. Кроме того, можно отформатировать данные в виде таблицы через ленту, выбрав команду ГЛАВНАЯ > Форматировать как таблицу. Поскольку у данных есть заголовки, установите флажок Таблица с заголовками в окне Создание таблицы, как показано ниже.

    Окно "Создание таблицы"
    Форматирование данных в виде таблицы имеет множество преимуществ. Таблице можно присвоить имя, чтобы ее было легче идентифицировать. Также можно установить связи между таблицами, позволяющие просматривать и анализировать данные в сводных таблицах, Power Pivot и Power View.

  6. Присвойте таблице имя. В средстве > КОНСТРУКТОР > свойства, найдите поле Имя таблицы и введите Sports. Книга будет выглядеть так же, как на следующем экране.
    Присвоение имени таблице в Excel

  7. Сохраните книгу.

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

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

  1. Вставьте новый лист Excel и назовите его Hosts.

  2. Выделите и скопируйте приведенную ниже таблицу вместе с заголовками.

City

NOC_CountryRegion

Alpha-2 Code

Edition

Season

Melbourne / Stockholm

AUS

AS

1956

Summer

Sydney

AUS

AS

2000

Summer

Innsbruck

AUT

AT

1964

Winter

Innsbruck

AUT

AT

1976

Winter

Antwerp

BEL

BE

1920

Summer

Antwerp

BEL

BE

1920

Winter

Montreal

CAN

CA

1976

Summer

Lake Placid

CAN

CA

1980

Winter

Calgary

CAN

CA

1988

Winter

St. Moritz

SUI

SZ

1928

Winter

St. Moritz

SUI

SZ

1948

Winter

Beijing

CHN

CH

2008

Summer

Berlin

GER

GM

1936

Summer

Garmisch-Partenkirchen

GER

GM

1936

Winter

Barcelona

ESP

SP

1992

Summer

Helsinki

FIN

FI

1952

Summer

Paris

FRA

FR

1900

Summer

Paris

FRA

FR

1924

Summer

Chamonix

FRA

FR

1924

Winter

Grenoble

FRA

FR

1968

Winter

Albertville

FRA

FR

1992

Winter

London

GBR

UK

1908

Summer

London

GBR

UK

1908

Winter

London

GBR

UK

1948

Summer

Munich

GER

DE

1972

Summer

Athens

GRC

GR

2004

Summer

Cortina d’Ampezzo

ITA

IT

1956

Winter

Rome

ITA

IT

1960

Summer

Turin

ITA

IT

2006

Winter

Tokyo

JPN

JA

1964

Summer

Sapporo

JPN

JA

1972

Winter

Nagano

JPN

JA

1998

Winter

Seoul

KOR

KS

1988

Summer

Mexico

MEX

MX

1968

Summer

Amsterdam

NED

NL

1928

Summer

Oslo

NOR

NO

1952

Winter

Lillehammer

NOR

NO

1994

Winter

Stockholm

SWE

SW

1912

Summer

St Louis

USA

US

1904

Summer

Los Angeles

USA

US

1932

Summer

Lake Placid

USA

US

1932

Winter

Squaw Valley

USA

US

1960

Winter

Moscow

URS

RU

1980

Summer

Los Angeles

USA

US

1984

Summer

Atlanta

USA

US

1996

Summer

Salt Lake City

USA

US

2002

Winter

Sarajevo

YUG

YU

1984

Winter

  1. В Excel поместите курсор в ячейку А1 на листе Hosts и вставьте данные.

  2. Отформатируйте данные в виде таблицы. Как описано выше, для форматирования данных в виде таблицы нажмите клавиши Ctrl + T или выберите пункт меню ГЛАВНАЯ > Форматировать как таблицу. Поскольку у данных есть заголовки, установите флажок Таблица с заголовками в окне Создание таблицы.

  3. Присвойте таблице имя. На вкладках РАБОТА С ТАБЛИЦАМИ > КОНСТРУКТОР > Свойства найдите поле Имя таблицы и введите слово Hosts.

  4. Выберите столбец Edition и на вкладке ГЛАВНАЯ задайте для него числовой формат с 0 десятичных знаков.

  5. Сохраните книгу. Книга будет иметь следующий вид:

Основная таблица

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

Создание связи между импортированными данными

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

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

  2. Прокрутите список, чтобы увидеть новые таблицы, которые вы только что добавили.

  3. Разверните пункт Sports и выберите пункт Sport, чтобы добавить в сводную таблицу. Обратите внимание, что Excel выдаст запрос на создание связи, как показано ниже.
    Запрос на СОЗДАНИЕ... связи в полях сводной таблицы
     

    Это уведомление появляется по той причине, что вы использовали поля таблицы, которая не является частью базовой модели данных. Один из способов добавить таблицу в модель данных заключается в создании связи с таблицей, которая уже есть в модели данных. Для создания связи в одной из таблиц должен содержаться столбец уникальных, не повторяющихся значений. В образце данных в таблице Disciplines, импортированной из базы данных, содержится поле с кодами видов спорта SportID. Эти же коды присутствуют в виде поля в импортированных нами данных Excel. Попробуем создать связь.

  4. Нажмите кнопку СОЗДАТЬ… в выделенной области Поля сводной таблицы, чтобы открыть диалоговое окно Создание связи, как показано на приведенном ниже снимке экрана.

    Окно "Создание связи"

  5. В области Таблица выберите пункт Disciplines из раскрывающегося списка.

  6. В области Столбец (чужой) выберите пункт SportID.

  7. В области Связанная таблица выберите пункт Sports.

  8. В области Связанный столбец (первичный ключ) выберите пункт SportID.

  9. Нажмите кнопку ОК.

Сводная таблица изменится с учетом новой связи. Но пока она имеет не совсем правильный вид из-за порядка полей в области СТРОКИ. Дисциплина — это подкатегория вида спорта, но поскольку мы расположили дисциплины выше видов спорта в области СТРОКИ, она не организована должным образом. Этот нежелательный порядок показан на приведенном ниже снимке экрана.
Сводная таблица с нежелательным порядком

  1. В области СТРОКИ переместит sport выше дисциплины. Это гораздо лучше, и в ней отображаются нужные данные, как показано на следующем экране.

    Сводная таблица с правильным порядком

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

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

Контрольная точка и тест

Повторение изученного материала

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

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

Вы готовы перейти к следующему учебнику этого цикла. Вот ссылка:

Расширение связей модели данных с использованием Excel 2013, Power Pivot и DAX

ТЕСТ

Хотите проверить, насколько хорошо вы усвоили пройденный материал? Приступим. Этот тест посвящен функциям, возможностям и требованиям, о которых вы узнали в этом учебнике. Внизу страницы вы найдете ответы на вопросы. Удачи!

Вопрос 1. Почему так важно преобразовывать импортируемые данные в таблицы?

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

Б. При преобразовании импортируемых данных в таблицы они исключаются из модели данных. Они доступны в сводных Power Pivot и Power View только в том случае, если они исключены из модели данных.

C. Если преобразовать импортированные данные в таблицы, их можно включить в модель данных, и они будут доступны в сводных таблицах, Power Pivot и Power View.

D. Импортированные данные нельзя преобразовать в таблицы.

Вопрос 2. Какие из указанных ниже источников данных можно импортировать в Excel и включить в модель данных?

A. Базы данных Access и многие другие базы данных.

B. Существующие файлы Excel.

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

D. Все вышеперечисленное.

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

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

B. Формат сводной таблицы изменится в соответствии с макетом, но это не повлияет на базовые данные.

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

D. Базовые данные изменятся, что приведет к созданию новых наборов данных.

Вопрос 4. Что необходимо для создания связи между таблицами?

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

B. Таблица не должна быть частью книги Excel.

C. Столбцы не должны быть преобразованы в таблицы.

D. Ни один из вышеперечисленных ответов не является правильным.

Ответы на вопросы теста

  1. Правильный ответ: C

  2. Правильный ответ: D

  3. Правильный ответ: B

  4. Правильный ответ: D

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

  • Набор данных об Олимпийских играх © Guardian News & Media Ltd.

  • Изображения флагов из справочника CIA Factbook (cia.gov).

  • Данные о населении из документов Всемирного банка (worldbank.org).

  • Авторы эмблем олимпийских видов спорта Thadius856 и Parutakupiu.

МЕНЮ САЙТА

  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ


Слияние данных MS Excel и MS Word

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

Процедура слияния состоит из нескольких этапов.

1 этап. Подготовка данных электронной таблицы

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

  • в таблице не должно быть объединенных ячеек. Вернее сказать так: ЕСЛИ в таблице есть объединённые ячейки, то надо быть готовым к тому, что при экспорте объединение будет отменено, и соответственно образуются лишние пустые строки и/или столбцы, что может нарушить структуру таблицы. В общем, объединённые ячейки — это зло :)
  • все столбцы должны иметь уникальные названия, которые будут использоваться при слиянии. Если в таблице отсутствует первая строка с названиями столбцов, то её заменит первая строка данных, а значит, она в рассылке участвовать не будет.

В качестве примера возьмем таблицу с перечнем клиентов фитнес клуба «Экселент»

2 этап. Подготовка шаблона документа Word

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

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

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

Таким образом, на этом этапе в документе Word печатается общий для всех писем текст.

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

3 этап. Работа Мастера слияния MS Word

Открываем файл письма в MS Word.

Проще всего осуществить слияние данных, следуя указаниям Мастера слияния. В версиях после Word2003 Мастер слияния запускается с помощью кнопки Начать слияние на вкладке Рассылки

В версиях до Word2007 следует выполнить команду меню Сервис — Письма и рассылки — Слияние. Кроме того, для более удобной работы версиях до Word2007 можно вывести панель инструментов Слияние

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

Работа Мастера слияния включает 6 шагов.

1 шаг: выбираем тип документа для рассылки, в нашем случае это Письма
2 шаг: выбираем документ, на основе которого будут создаваться рассылки, им может быть открытый текущий документ, шаблон или существующий документ. При выборе варианта Шаблон или Существующий документ появляется возможность указать нужный файл в Проводнике. Мы выбираем Текущий документ

3 шаг: выбираем получателей. В нашем случае источником данных будет таблица Excel, значит отмечаем вариант Использование списка. Затем с помощью кнопки Обзор… выбираем нужный файл в Проводнике
После выбора файла раскрывается диалоговое окно с выбранной таблицей. Если нам нужны все записи, то сразу нажимаем ОК. При необходимости можно список отсортировать, отфильтровать нужные записи, либо найти их с помощью соответствующих команд. Возможности фильтрации и поиска здесь, конечно, намного беднее, чем в Excel, но сделать простейшую выборку по текстовым или числовым значениям можно. Кроме того, возможно выбрать записи для рассылки вручную с помощью флажков :)

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

4 шаг: вставляем нужные поля в документ. Прежде, чем выбрать один из предложенных Мастером вариантов работы, следует установить курсор в тексте туда, куда Вы хотите вставить данные. Если Вы забыли это сделать, тоже ничего страшного, поля можно вставить в любое место документа, а затем перенести. В нашем случае ставим курсор после слова «Уважаем» перед восклицательным знаком. Так как нам нужны отдельные поля, выбираем Другие элементы…
Раскрывается диалоговое окно для выбора полей слияния.

Выбираем поле Имя, нажимаем Вставить, то же самое для поля Отчество. Закрываем окно Вставка полей слияния и добавляем пробелы между вставленными полями. Если параметр Затенение полей установлен в положение Всегда, то вставленные поля будут отчетливо видны на сером фоне. Устанавливаем курсор после №, снова нажимаем ссылку Другие элементы…, выбираем № клубной картыВставить. Аналогично вставляем поле Дата окончания действия карты

Кроме указанных выше полей требуется вставить окончание обращения ый(ая), которое зависит от значения поля Пол. Для этого воспользуемся  специальным полем, позволяющим вставлять одно из двух значений в зависимости от данных. Поставим курсор сразу после слова «Уважаем», нажмём кнопку Правила на вкладке Рассылки и выберем вариант IF…THEN…ELSE. В версиях до Word2007 аналогичная кнопка называется Добавить поле Word и находится на панели инструментов Слияние

В раскрывшемся диалоговом окне зададим параметры

После нажатия ОК, получим результат

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

Номер клубной карты вместо 001768 отображается как 1768, а дата и вовсе не по-нашему: сначала месяц, а потом день, хотя в таблице Excel всё было в порядке. Такие же неприятности могут возникнуть при импорте ячеек с десятичными числами, денежным форматом и т.д. Вывод неутешительный: при слиянии форматирование чисел и дат не сохраняется. Но выход есть!

Поля документа Word, в которые вставляются наши данные, представляют собой код, который, во-первых, можно посмотреть, а во-вторых, изменить. Чтобы увидеть код поля, например, с номером клубной карты, следует кликнуть по нему правой кнопкой мыши (ПКМ) и выбрать команду Коды/Значения полей.
Получим следующее 

{ MERGEFIELD «M__клубной_карты» }
Сам код изменять мы не будем, а вот формат допишем. Принцип добавления формата будет понятен любому, кто хоть немного знаком с созданием пользовательского формата в Excel. Чтобы число всегда состояло из шести цифр, формат должен состоять из шести нулей:
{ MERGEFIELD «M__клубной_карты»  #  «000000»  }. Теперь снова ПКМ по полю — Обновить поле, и видим число в нужном формате.

Аналогично поступаем с датой 
{ MERGEFIELD «дата_окончания_действия_карты»  @ 
«
DD.MM.YYYY»  }


И получаем окончательный вариант


Подробнее о кодах полей Word можно прочитать в справочной системе Word или на официальном сайте Microsoft

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

       

*если в файле с базой клиентов при открытии в Excel2003 вместо формул будут отображаться ошибки #ИМЯ!, подключите надстройку Пакет анализа (Сервис — Надстройки)

  • 1
  • 2
  • 3
  • 4
  • 5

Категория: Интеграция Excel с другими приложениями | Добавил: Pelena (22.11.2012)

Просмотров: 315637 | Комментарии: 63
| Теги: рассылки, Слияние данных
| Рейтинг: 4.7/15

Всего комментариев: 61 1 2 3 »

Порядок вывода комментариев:

   Никак не найду в 2003 офисе в указанном месте функцию «Пакет анализа». Может как то по другому называется?

0
 

   Ага, сделал, спасибо! Просто там есть и «надстройка» и «настройки» ;)

Еще вот проблема: все вставки получаются одни и те же, т.е. делаю, например, первую вставку с данными «имя», потом делаю вставку с данными «фамилия», при этом, первая вставка из имени автоматом превращается в фамилию. И так постоянно, каждая новая вставка меняет все предыдущие на однотипную — последнюю. Вроде всяко перепробовал, но ничего не выходит.

Еще не нашел где активировать «затенение полей»

   Спасибо большое за статью! Благодаря вам сэкономила несколько часов лишней работы! :)

0
 


   Хороший вопрос.
В этом случае структура поля будет примерно следующей:
{ = { MERGEFIELD «имя_вашего_поля» } *100 # «0%» }
Причем вторые фигурные скобки надо будет поставить через Ctrl+F9. Подробнее: выделяем { MERGEFIELD «имя_вашего_поля» }, нажимаем Ctrl+F9, затем внутри внешних фигурных скобок дописываем недостающие символы, не забывая в начале =

12   
Prickly  
(23.12.2014 08:58)
[
Материал]

   Т.е. имеется ввиду в одном и том же документе Word создать 100 шаблонов письма и вставить туда по одной строке из Excel?

0
 


   Здравствуйте. Зачем все просматривать? Если выборку делать не надо, то и просматривать незачем, просто в Мастере жмите Далее

14   
Prickly  
(23.12.2014 09:31)
[
Материал]

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

0
 


   Похоже, Вы работу Мастера не завершили. Должен получиться один документ, в котором 100 листов. Если не разберётесь, задайте вопрос на форуме, приложив пример файла

16   
Prickly  
(23.12.2014 09:45)
[
Материал]

   Может вы поможете?
Я дошел до последнего шага в примере. Изменить части писем и Печать. Где завершается работа Мастера?

0
 


   Правильно, сколько страниц в документе получилось? Теперь можете Мастер закрыть, а с документом работать, как обычно, сохранить, редактировать и т.д. Не пойму, что Вас смущает? Если Вы хотите, чтобы на листе было несколько шаблонов, то на первом шаге Мастера выберите Наклейки, а не Письма

18   
Prickly  
(23.12.2014 11:26)
[
Материал]

   Pelena,
Мой шаблон такой, что на одном листе 2 шаблона. Получается мне нужно 50 страниц в документе Word. 1 строка = 1 шаблон.
Сделал накрейки, но все равно не получается ((((

0
 


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

   Получилось ))))))))))))) Урээ!!
Елена,
а теперь не подскажите, как это можно автоматизировать?


   со вставкой даты возникли проблемы.
вставляется дата в формате число: 41997
применение формата @ «DD.MM.YYYY» не помогло :(

0
 


   Без файла трудно что либо сказать, задайте вопрос на форуме, приложив файлы-примеры


   к сожалению на работе политика ИБ не даёт загружать файлы на данный ресурс :(
я почитал help по ссылке на сайте Майкрософт, не получается.
вот в фигурных скобках код поля: MERGEFIELD «F21» @ «dd.MM.yyyy»
F21 — это ссылка на колонку в таблице Excel, данные в формате «дата».

0
 


   Пришлите кусок файла Excel и документ мне на почту, она есть на Глваной странице сайта в контактах

1-25 26-50 51-61

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

[

Регистрация

|

Вход

]

Содержание

  • Создание связанных таблиц
    • Способ 1: прямое связывание таблиц формулой
    • Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ
    • Способ 3: выполнение математических операций со связанными данными
    • Способ 4: специальная вставка
    • Способ 5: связь между таблицами в нескольких книгах
  • Разрыв связи между таблицами
    • Способ 1: разрыв связи между книгами
    • Способ 2: вставка значений
  • Вопросы и ответы

Связанные таблицы в Microsoft Excel

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

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

Создание связанных таблиц

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

Способ 1: прямое связывание таблиц формулой

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

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

Таблица заработной платы в Microsoft Excel

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

Таблица со ставками сотрудников в Microsoft Excel

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

  1. На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
  2. Переход на второй лист в Microsoft Excel

  3. Происходит перемещения во вторую область документа. Щелкаем по первой ячейке в столбце «Ставка». Затем кликаем по кнопке Enter на клавиатуре, чтобы произвести ввод данных в ячейку, в которой ранее установили знак «равно».
  4. Связывание с ячейкой второй таблицы в Microsoft Excel

  5. Затем происходит автоматический переход на первый лист. Как видим, в соответствующую ячейку подтягивается величина ставки первого сотрудника из второй таблицы. Установив курсор на ячейку, содержащую ставку, видим, что для вывода данных на экран применяется обычная формула. Но перед координатами ячейки, откуда выводятся данные, стоит выражение «Лист2!», которое указывает наименование области документа, где они расположены. Общая формула в нашем случае выглядит так:

    =Лист2!B2

  6. Две ячейки двух таблиц связаны в Microsoft Excel

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

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

  8. Маркер заполнения в Microsoft Excel

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

Все данные столбца второй таблицы перенесены в первую в Microsoft Excel

Lumpics.ru

Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ

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

  1. Выделяем первый элемент столбца «Ставка». Переходим в Мастер функций, кликнув по пиктограмме «Вставить функцию».
  2. Вставить функцию в Microsoft Excel

  3. В Мастере функций в группе «Ссылки и массивы» находим и выделяем наименование «ИНДЕКС».
  4. Переход в окно аргуметов функции ИНДЕКС в Microsoft Excel

  5. Данный оператор имеет две формы: форму для работы с массивами и ссылочную. В нашем случае требуется первый вариант, поэтому в следующем окошке выбора формы, которое откроется, выбираем именно его и жмем на кнопку «OK».
  6. Выбор формы функции ИНДЕКС в Microsoft Excel

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

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

    «Массив» — аргумент, содержащий адрес диапазона, из которого мы будем извлекать информацию по номеру указанной строки.

    «Номер строки» — аргумент, являющийся номером этой самой строчки. При этом важно знать, что номер строки следует указывать не относительно всего документа, а только относительно выделенного массива.

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

    Ставим курсор в поле «Массив». После этого переходим на Лист 2 и, зажав левую кнопку мыши, выделяем все содержимое столбца «Ставка».

  8. Аргумент Массив в окне аргументов функции ИНДЕКС в Microsoft Excel

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

  11. Запускается стандартное окно Мастера функций. Переходим в нем в ту же самую группу «Ссылки и массивы». На этот раз в перечне выбираем пункт «ПОИСКПОЗ». Выполняем щелчок по кнопке «OK».
  12. Переход в окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

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

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

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

    «Просматриваемый массив» — аргумент, представляющий собой ссылку на массив, в котором выполняется поиск указанного значения для определения его позиции. У нас эту роль будет исполнять адрес столбца «Имя» на Листе 2.

    «Тип сопоставления» — аргумент, являющийся необязательным, но, в отличие от предыдущего оператора, этот необязательный аргумент нам будет нужен. Он указывает на то, как будет сопоставлять оператор искомое значение с массивом. Этот аргумент может иметь одно из трех значений: -1; 0; 1. Для неупорядоченных массивов следует выбрать вариант «0». Именно данный вариант подойдет для нашего случая.

    Итак, приступим к заполнению полей окна аргументов. Ставим курсор в поле «Искомое значение», кликаем по первой ячейке столбца «Имя» на Листе 1.

  14. Аргумент Искомое значение в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  15. После того, как координаты отобразились, устанавливаем курсор в поле «Просматриваемый массив» и переходим по ярлыку «Лист 2», который размещен внизу окна Excel над строкой состояния. Зажимаем левую кнопку мыши и выделяем курсором все ячейки столбца «Имя».
  16. Аргумент Просматриваемый массив в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  17. После того, как их координаты отобразились в поле «Просматриваемый массив», переходим к полю «Тип сопоставления» и с клавиатуры устанавливаем там число «0». После этого опять возвращаемся к полю «Просматриваемый массив». Дело в том, что мы будем выполнять копирование формулы, как мы это делали в предыдущем способе. Будет происходить смещение адресов, но вот координаты просматриваемого массива нам нужно закрепить. Он не должен смещаться. Выделяем координаты курсором и жмем на функциональную клавишу F4. Как видим, перед координатами появился знак доллара, что означает то, что ссылка из относительной превратилась в абсолютную. Затем жмем на кнопку «OK».
  18. Окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

  19. Результат выведен на экран в первую ячейку столбца «Ставка». Но перед тем, как производить копирование, нам нужно закрепить ещё одну область, а именно первый аргумент функции ИНДЕКС. Для этого выделяем элемент колонки, который содержит формулу, и перемещаемся в строку формул. Выделяем первый аргумент оператора ИНДЕКС (B2:B7) и щелкаем по кнопке F4. Как видим, знак доллара появился около выбранных координат. Щелкаем по клавише Enter. В целом формула приняла следующий вид:

    =ИНДЕКС(Лист2!$B$2:$B$7;ПОИСКПОЗ(Лист1!A4;Лист2!$A$2:$A$7;0))

  20. Преобразование ссылки в абсолютную в Microsoft Excel

  21. Теперь можно произвести копирование с помощью маркера заполнения. Вызываем его тем же способом, о котором мы говорили ранее, и протягиваем до конца табличного диапазона.
  22. Маркер заполнения в программе Microsoft Excel

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

Значения связаны благодаря комбинации функций ИНДЕКС-ПОИСКПОЗ в Microsoft Excel

Читайте также:
Функция ИНДЕКС в Экселе
Функция ПОИСКПОЗ в Экселе

Способ 3: выполнение математических операций со связанными данными

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

Посмотрим, как это осуществляется на практике. Сделаем так, что на Листе 3 будут выводиться общие данные заработной платы по предприятию без разбивки по сотрудникам. Для этого ставки сотрудников будут подтягиваться из Листа 2, суммироваться (при помощи функции СУММ) и умножаться на коэффициент с помощью формулы.

  1. Выделяем ячейку, где будет выводиться итог расчета заработной платы на Листе 3. Производим клик по кнопке «Вставить функцию».
  2. Переход в Мастер функций в Microsoft Excel

  3. Следует запуск окна Мастера функций. Переходим в группу «Математические» и выбираем там наименование «СУММ». Далее жмем по кнопке «OK».
  4. Переход в окно аргуметов функции СУММ в Microsoft Excel

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

    =СУММ(число1;число2;…)

    Поля в окне соответствуют аргументам указанной функции. Хотя их число может достигать 255 штук, но для нашей цели достаточно будет всего одного. Ставим курсор в поле «Число1». Кликаем по ярлыку «Лист 2» над строкой состояния.

  6. Окно аргметов функции СУММ в Microsoft Excel

  7. После того, как мы переместились в нужный раздел книги, выделяем столбец, который следует просуммировать. Делаем это курсором, зажав левую кнопку мыши. Как видим, координаты выделенной области тут же отображаются в поле окна аргументов. Затем щелкаем по кнопке «OK».
  8. Суммирование данных с помощью функции СУММ в Microsoft Excel

  9. После этого мы автоматически перемещаемся на Лист 1. Как видим, общая сумма размера ставок работников уже отображается в соответствующем элементе.
  10. Общая сумма ставок работников в Microsoft Excel

  11. Но это ещё не все. Как мы помним, зарплата вычисляется путем умножения величины ставки на коэффициент. Поэтому снова выделяем ячейку, в которой находится суммированная величина. После этого переходим к строке формул. Дописываем к имеющейся в ней формуле знак умножения (*), а затем щелкаем по элементу, в котором располагается показатель коэффициента. Для выполнения вычисления щелкаем по клавише Enter на клавиатуре. Как видим, программа рассчитала общую заработную плату по предприятию.
  12. Общая зарплата по предприятию в Microsoft Excel

  13. Возвращаемся на Лист 2 и изменяем размер ставки любого работника.
  14. Изменение ставки работника в Microsoft Excel

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

Сумма заработной платы по предприятию пересчитана в Microsoft Excel

Способ 4: специальная вставка

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

  1. Выделяем значения, которые нужно будет «затянуть» в другую таблицу. В нашем случае это диапазон столбца «Ставка» на Листе 2. Кликаем по выделенному фрагменту правой кнопкой мыши. В открывшемся списке выбираем пункт «Копировать». Альтернативной комбинацией является сочетание клавиш Ctrl+C. После этого перемещаемся на Лист 1.
  2. Копирование в Microsoft Excel

  3. Переместившись в нужную нам область книги, выделяем ячейки, в которые нужно будет подтягивать значения. В нашем случае это столбец «Ставка». Щелкаем по выделенному фрагменту правой кнопкой мыши. В контекстном меню в блоке инструментов «Параметры вставки» щелкаем по пиктограмме «Вставить связь».
    Вставка связи через контекстное меню в Microsoft Excel

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

  4. Переход в специальную вставку в Microsoft Excel

  5. После этого открывается окно специальной вставки. Жмем на кнопку «Вставить связь» в нижнем левом углу ячейки.
  6. Окно специальной вставки в Microsoft Excel

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

Значения вставлены с помощью специальной вставки в Microsoft Excel

Урок: Специальная вставка в Экселе

Способ 5: связь между таблицами в нескольких книгах

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

  1. Выделяем диапазон данных, который нужно перенести в другую книгу. Щелкаем по нему правой кнопкой мыши и выбираем в открывшемся меню позицию «Копировать».
  2. Копирование данных из книги в Microsoft Excel

  3. Затем перемещаемся к той книге, в которую эти данные нужно будет вставить. Выделяем нужный диапазон. Кликаем правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» выбираем пункт «Вставить связь».
  4. Вставка связи из другой книги в Microsoft Excel

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

Связь из другой книги вставлена в Microsoft Excel

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

Информационное сообщение в Microsoft Excel

Изменения в таком массиве, связанном с другой книгой, можно произвести только разорвав связь.

Разрыв связи между таблицами

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

Способ 1: разрыв связи между книгами

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

  1. В книге, в которой подтягиваются значения из других файлов, переходим во вкладку «Данные». Щелкаем по значку «Изменить связи», который расположен на ленте в блоке инструментов «Подключения». Нужно отметить, что если текущая книга не содержит связей с другими файлами, то эта кнопка является неактивной.
  2. Переход к изменениям связей в Microsoft Excel

  3. Запускается окно изменения связей. Выбираем из списка связанных книг (если их несколько) тот файл, с которым хотим разорвать связь. Щелкаем по кнопке «Разорвать связь».
  4. Окно изменения связей в Microsoft Excel

  5. Открывается информационное окошко, в котором находится предупреждение о последствиях дальнейших действий. Если вы уверены в том, что собираетесь делать, то жмите на кнопку «Разорвать связи».
  6. Информационное предупреждение о разрыве связи в Microsoft Excel

  7. После этого все ссылки на указанный файл в текущем документе будут заменены на статические значения.

Ссылки заменены на статические значения в Microsoft Excel

Способ 2: вставка значений

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

  1. Выделяем диапазон, в котором желаем удалить связь с другой таблицей. Щелкаем по нему правой кнопкой мыши. В раскрывшемся меню выбираем пункт «Копировать». Вместо указанных действий можно набрать альтернативную комбинацию горячих клавиш Ctrl+C.
  2. Копирование в программе Microsoft Excel

  3. Далее, не снимая выделения с того же фрагмента, опять кликаем по нему правой кнопкой мыши. На этот раз в списке действий щелкаем по иконке «Значения», которая размещена в группе инструментов «Параметры вставки».
  4. Вставка как значения в Microsoft Excel

  5. После этого все ссылки в выделенном диапазоне будут заменены на статические значения.

Значения вставлены в Microsoft Excel

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

Время на прочтение
6 мин

Количество просмотров 349K

Добрый день, уважаемые читатели.

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

Работаем с файлами MS Excel на Python

Для работы с Excel файлами из Python мне известны 2 варианта:

  1. Использование библиотек, таких как xlrd, xlwt, xlutils или openpyxl
  2. Работа с com-объектом

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

Использование библиотек

Итак, первый метод довольно простой и хорошо описан. Например, есть отличная статья для описания работы c xlrd, xlwt, xlutils. Поэтому в данном материале я приведу небольшой кусок кода с их использованием.

Для начала загрузим нужные библиотеки и откроем файл xls на чтение и выберем
нужный лист с данными:

import xlrd, xlwt
#открываем файл
rb = xlrd.open_workbook('../ArticleScripts/ExcelPython/xl.xls',formatting_info=True)

#выбираем активный лист
sheet = rb.sheet_by_index(0)

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

#получаем значение первой ячейки A1
val = sheet.row_values(0)[0]

#получаем список значений из всех записей
vals = [sheet.row_values(rownum) for rownum in range(sheet.nrows)]

Как видно чтение данных не составляет труда. Теперь запишем их в другой файл. Для этого создам новый excel файл с новой рабочей книгой:

wb = xlwt.Workbook()
ws = wb.add_sheet('Test')

Запишем в новый файл полученные ранее данные и сохраним изменения:

#в A1 записываем значение из ячейки A1 прошлого файла
ws.write(0, 0, val[0])

#в столбец B запишем нашу последовательность из столбца A исходного файла
i = 0
for rec in vals:
    ws.write(i,1,rec[0])
    i =+ i

#сохраняем рабочую книгу
wb.save('../ArticleScripts/ExcelPython/xl_rec.xls')

Из примера выше видно, что библиотека xlrd отвечает за чтение данных, а xlwt — за запись, поэтому нет возможности внести изменения в уже созданную книгу без ее копирования в новую. Кроме этого указанные библиотеки работают только с файлами формата xls (Excel 2003) и у них нет поддержки нового формата xlsx (Excel 2007 и выше).

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

Для начала загрузим библиотеку и выберем нужную книгу и рабочий лист:

import openpyxl
wb = openpyxl.load_workbook(filename = '../ArticleScripts/ExcelPython/openpyxl.xlsx')
sheet = wb['test']

Как видно из вышеприведенного листинга сделать это не сложно. Теперь посмотрим как можно считать данные:

#считываем значение определенной ячейки
val = sheet['A1'].value

#считываем заданный диапазон
vals = [v[0].value for v in sheet.range('A1:A2')]

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

Теперь посмотрим как нам произвести запись и сохранить данные:

#записываем значение в определенную ячейку
sheet['B1'] = val

#записываем последовательность
i = 0
for rec in vals:
    sheet.cell(row=i, column=2).value = rec
    i =+ 1

# сохраняем данные
wb.save('../ArticleScripts/ExcelPython/openpyxl.xlsx')

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

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

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

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

Работа с com-объектом

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

Проиллюстрируем это на той же задаче, что и предыдущие примеры.

Для начала загрузим нужную библиотеку и создадим COM объект.

import win32com.client
Excel = win32com.client.Dispatch("Excel.Application")

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

wb = Excel.Workbooks.Open(u'D:\Scripts\DataScience\ArticleScripts\ExcelPython\xl.xls')
sheet = wb.ActiveSheet

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

#получаем значение первой ячейки
val = sheet.Cells(1,1).value

#получаем значения цепочки A1:A2
vals = [r[0].value for r in sheet.Range("A1:A2")]

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

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

#записываем значение в определенную ячейку
sheet.Cells(1,2).value = val

#записываем последовательность
i = 1
for rec in vals:
    sheet.Cells(i,3).value = rec
    i = i + 1

#сохраняем рабочую книгу
wb.Save()

#закрываем ее
wb.Close()

#закрываем COM объект
Excel.Quit()

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

Однако, внимательный читатель, обратит внимание на переменную i, которая инициализируется не 0, как принято python, а 1. Это связано с тем, что мы работаем с индексами ячеек как из VBA, а там нумерация начинается не с 0, а с 1.

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

Вызываем функции Python из MS Excel

Может возникнуть такая ситуация, что у вас уже есть какой-либо функция, которая обрабатывает данные на python, и нужно перенести ее функциональность в Excel. Конечно же можно переписать ее на VBA, но зачем?

Для использования функций python в Excel есть прекрасная надстройка ExcelPython. С ее помощью вы сможете вызывать функции написанные на python прямо из Excel, правда придется еще написать небольшую обертку на VBA, и все это будет показано ниже.

Итак, предположим у нас есть функция, написанная на python, которой мы хотим воспользоваться:

def get_unique(lists):
    sm = 0
    for i in lists:
        sm = sm + int(i.pop()) 
    return sm

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

Сохраним функцию в файле plugin.py и положим его в ту же директорию, где будет лежать наш excel файл, с которым мы будем работать.

Теперь установим ExcelPython. Установка происходит через запуск exe-файла и не вызывает затруднений.

Когда все приготовления выполнены, открываем тестовый файл excel и вызовем редактор VBA (Alt+F11). Для работы с вышеуказанной надстройкой необходимо ее подключить, через Tools->References, как показано на рисунке:

Ну что же, теперь можно приступить к написанию функции-обертки для нашего Python-модуля plugin.py. Выглядеть она будет следующим образом:

Function sr(lists As Range)
    On Error GoTo do_error
        Set plugin = PyModule("plugin", AddPath:=ThisWorkbook.Path)
        Set result = PyCall(plugin, "get_unique", PyTuple(lists.Value2))
        sr = WorksheetFunction.Transpose(PyVar(result))
        Exit Function
do_error:
        sr = Err.Description
End Function

Итак, что же происходит в данной функции?

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

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

  1. Объект модуля, полученный на предыдущем шаге
  2. Имя вызываемой функции
  3. Параметры, передаваемые функции (передаются в виде списка)

Функция PyTuple, получает на вход какие-либо значения и преобразует их в объект tuple языка Python.
Ну и, соответственно, PyVar выполняет операцию преобразования результата функции python, к типу понятному Excel.

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

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

Надо отметить, что в данном материале используется старая версия ExcelPython, и на GitHub’e автора доступна новая версия.

Заключение

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

Также хочу заметить, что указанные пакеты не являются единственными и в статье опущено рассмотрение, таких пакетов как xlsxwriter для генерации excel файлов или xlwings, который может работать с Excel файлами «на лету», а также же PyXLL, который выполняет аналогичные функции ExcelPython.

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

Учебник: импорт данных в Excel и создание модели данных

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

Аннотация. Это первый учебник из серии, который поможет ознакомиться с программой Excel и ее возможностями объединения и анализа данных, а также научиться легко использовать их. С помощью этой серии учебников вы научитесь создавать с нуля и совершенствовать рабочие книги Excel, строить модели данных и создавать удивительные интерактивные отчеты с использованием надстройки Power View. В этих учебниках приводится описание возможностей средств бизнес-аналитики Майкрософт в Excel, сводных таблиц, Power Pivot и Power View.

Примечание: В этой статье описаны модели данных в Excel 2013. Однако те же функции моделирования данных и Power PIVOT, представленные в Excel 2013, также применимы к Excel 2016.

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

Учебники этой серии

Импорт данных в Excel 2013 и создание модели данных

В этом учебнике вы начнете работу с пустой книги Excel.

Разделы учебника

В конце учебника есть тест, с помощью которого можно проверить свои знания.

В этой серии учебников используются данные, описывающие спортивных medals, страны размещения и различные спортивных спортивные мероприятия. Мы рекомендуем вам пройти каждый из этих учебников по порядку. Учебники также используют Excel 2013 с Power Pivot. Для получения дополнительных сведений о Excel 2013 щелкните здесь. Для получения инструкций по включению Power Pivot щелкните здесь.

Импорт данных из базы данных

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

Сначала загрузим данные из Интернета. Эти данные об олимпийских медалях являются базой данных Microsoft Access.

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

Откройте пустую книгу в Excel 2013.

Щелкните данные _Гт_ получить внешние данные _Гт_ из Access. Лента настраивается динамически в зависимости от ширины книги, поэтому команды на ленте могут немного отличаться от следующих экранов. На первом экране отображается лента, если книга является широкой, а на втором — книга, размер которой был изменен, чтобы занимать только часть экрана.

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

Появится окно «Импорт данных».

Примечание: Обратите внимание на флажок в нижней части окна, с помощью которого вы можете добавить эти данные в модель данных, как показано на следующем экране. Модель данных создается автоматически при одновременном импорте двух или нескольких таблиц. Модель данных интегрирует таблицы, обеспечивая расширенный анализ с помощью сводных таблиц, Power Pivot и Power View. При импорте таблиц из базы данных существующие связи между этими таблицами используются для создания модели данных в Excel. Модель данных является прозрачной в Excel, но ее можно просматривать и изменять непосредственно с помощью надстройки Power Pivot. Модель данных обсуждается более подробно далее в этом учебнике.

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

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

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

Просмотр данных в сводной таблице

Просматривать импортированные данные удобнее всего с помощью сводной таблицы. В сводной таблице можно перетаскивать поля (похожие на столбцы в Excel) из таблиц (например, таблиц, импортированных из базы данных Access) в разные области, настраивая представление данных. Сводная таблица содержит четыре области: ФИЛЬТРЫ, СТОЛБЦЫ, СТРОКИ и ЗНАЧЕНИЯ.

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

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

В полях сводной таблицы разверните таблицу medals , щелкнув стрелку рядом с ней. Найдите поле Нок_каунтрирегион в развернутой таблице medals и перетащите его в область столбцы. В NOC используется National спортивных комитетов, который является организационным подразделением для страны или региона.

Затем перетащите виды спорта из таблицы Disciplines в область СТРОКИ.

Давайте отфильтруем дисциплины, чтобы отображались только пять видов спорта: стрельба из лука (Archery), прыжки в воду (Diving), фехтование (Fencing), фигурное катание (Figure Skating) и конькобежный спорт (Speed Skating). Это можно сделать в области Поля сводной таблицы или в фильтре Метки строк в самой сводной таблице.

Щелкните в любом месте сводной таблицы, чтобы убедиться, что сводная таблица Excel выбрана. В списке Поля сводной таблицы, где развернута таблица Disciplines, наведите указатель на поле Discipline, и в его правой части появится стрелка раскрывающегося списка. Щелкните эту стрелку, нажмите кнопку (Выбрать все), чтобы снять отметку со всех выбранных параметров, а затем прокрутите вниз и выберите пункты Archery, Diving, Fencing, Figure Skating и Speed Skating. Нажмите кнопку ОК.

Либо щелкните в разделе сводной таблицы Метки строк стрелку раскрывающегося списка рядом с полем Метки строк, нажмите кнопку (Выбрать все), чтобы снять отметку со всех выбранных параметров, а затем прокрутите вниз и выберите пункты Archery, Diving, Fencing, Figure Skating и Speed Skating. Нажмите кнопку ОК.

В разделе Поля сводной таблицы перетащите поле Medal из таблицы Medals в область ЗНАЧЕНИЯ. Поскольку значения должны быть числовыми, Excel автоматически изменит поле Medal на Count of Medal.

В таблице Medals снова выберите поле Medal и перетащите его в область ФИЛЬТРЫ.

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

В сводной таблице щелкните стрелку раскрывающегося списка рядом с полем Метки столбцов.

Выберите Фильтры по значению, а затем — Больше.

Введите 90 в последнем поле (справа). Нажмите кнопку ОК.

Сводная таблица будет иметь следующий вид:

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

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

Импорт данных из таблицы

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

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

Вставьте новый лист Excel и назовите его Sports.

Перейдите к папке, в которой содержатся загруженные файлы образцов данных, и откройте файл OlympicSports.xlsx.

Выберите и скопируйте данные на листе Sheet1. При выборе ячейки с данными, например, ячейки А1, можно нажать клавиши Ctrl + A, чтобы выбрать все смежные данные. Закройте книгу OlympicSports.xlsx.

На листе Sports поместите курсор в ячейку А1 и вставьте данные.

Выделив данные, нажмите клавиши CTRL + T, чтобы отформатировать данные как таблицу. Вы также можете отформатировать данные в виде таблицы на ленте, выбрав в _Гт_ формат таблицы. Так как у данных есть заголовки, в появившемся окне Создание таблицы выберите пункт таблица с заголовками, как показано ниже.

Форматирование данных в виде таблицы имеет много преимуществ. Можно назначить имя таблице, что упрощает ее определение. Кроме того, вы можете устанавливать связи между таблицами, позволяя исследовать и анализировать в сводных таблицах, Power Pivot и в Power View.

ПриСвойте таблице имя. В разделе Работа с таблицаМи _Гт_ свойства _ГТ_ макета найдите поле имя таблицы и введите Спорт. Книга будет выглядеть так, как показано на следующем экране.

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

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

Вставьте новый лист Excel и назовите его Hosts.

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

Импорт из Excel

Пусть исходные данные находятся в таблице Excel:

Рис. 1. Файл данных Excel

Импортировать их в STATISTICA очень легко.

В системе STATISTICA нажмите Открыть в меню Файл. Программа предложит на выбор 3 варианта: Импортировать все листы в Рабочую книгу, Импортировать выбранный лист в Таблицу данных или Открыть как Рабочую книгу Excel.

Рис. 2. Открытие файла

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

Рис. 3. Окно Выберите лист

Например, выбреем Лист 1 и нажмём OK.

Далее вам необходимо:

указать диапазон значений во внешнем файле данных, который будет импортирован;

решить, нужно ли импортировать имена наблюдений и переменных;

сохранить (или нет) формат ячеек из исходной таблицы.

Рис. 4. Окно Открыть файл Excel

Выберите требуемые для импорта значения таблицы и нажмите кнопку OK.

Рис. 5. Таблица данных в формате STATISTICA

Теперь Ваши данные импортированы в программу STATISTICA.

Вы также можете работать в Excel «внутри» STATISTICA. Для этого в окне Открытие файла, изображенного на рисунке 2, нажмите Открыть как Рабочую книгу Excel.

Рис. 6. Рабочая книга Excel внутри STATISTICA

Теперь Вы можете совмещать привычную среду Excel и мощные возможности STATISTICA.

Импорт данных в Excel 2007

Как импортировать в Excel файл в формате txt?

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

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

Программа автоматически запустит Мастер текстов (импорт).

2. Находясь в книге Excel, на вкладке Данные в группе Получение внешних данных нажмите кнопку Из текста. У вас появится диалоговое окно Импорт текстового файла, аналогичное окну Открытие документа п.1. В данном диалоговом окне укажите файл, который необходимо импортировать и нажмите кнопку Импорт.

Программа автоматически запустит Мастер текстов (импорт).

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

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

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

Если на первом этапе вы указали все необходимые данные нажмите кнопку Далее.

На втором этапе Мастера импорта текстов у вас может быть два варианта действий.

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

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

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

На третьем этапе Мастер импорта текста предлагает установить формат колонок. По умолчанию стоит Общий.

Нажимаем кнопку Готово.

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

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

У вас появится диалоговое окно Импорт текстового файла, в котором укажите файл, который необходимо импортировать и нажмите кнопку Импорт.

Сразу же откроется диалоговое окно Мастер текстов (импорт). На первом шаге в поле формат данных укажите с разделителями.

На втором шаге в поле Символом разделителем является отметьте — запятая (точка с запятой).

На третьем шаге, если есть необходимость, укажите формат столбцов.

После нажатия кнопки Готово файл csv будет корректно импортирован в Excel и преобразован в таблицу.

У меня есть таблица в формате txt со всеми линиями границ, как мне импортировать ее в Excel, чтобы этих границ не было?

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

Во время импорта таблицы в Мастер текстов (импорт) на первом шаге в поле Укажите формат данных отметьте с разделителями.

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

Во время импорта txt-файла, числа, в которых разделители точки, Эксель воспринимает как даты и после импорта вернуть им прежнее значение не удается. Как обойти эту проблему?

Для того, что бы дробные числа с разделителем в виде точки отображались корректно в Excel, во время импорта файла на третьем шаге Мастер текстов (импорт) в окне Образец разбора данных выделите столбик, который содержит дробные числа, и в поле Формат данных столбца выберите текстовый.

После импорта данных выделите столбец, который содержит дробные числа с точкой. С помощью комбинации клавиш Ctrl+H откройте диалоговое окно Найти и заменить. В поле Найти укажите точку, в поле Заменить назапятую. Нажмите кнопку Заменить все — замена будет произведена только в рамках выделенного столбца.

Теперь, с помощью меню Формат ячеек группы Ячейки вкладки Главная, измените формат столбца с Текстовый на Числовой.

Можно ли в Excel подключиться к данным базы Access что бы они автоматически обновлялись?

Да, для этого находясь в книге Excel через вкладку Данные в группе Получить внешние данные нажать на кнопку Из Access.

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

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

У вас откроется еще одно диалоговое окно — Импорт данных. Здесь вы можете выбрать способ отображения данных в виде:

  • Таблицы
  • Отчета сводной таблицы
  • Сводной диаграммы и отчета сводной таблицы

Здесь же можете указать Куда следует поместить данные?

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

На вкладке Использование выберите, с какой частотой должны обновляться данные:

  • Фоновое обновление — позволяет продолжить работу в Excel пока выполняется запрос обновления данных. Снятие флажка приведет к выполнению запроса во время ожидания.
  • Обновлять каждые … — включает автоматическое обновление данных через указанные промежутки времени.
  • Обновление при открытии файла — при установлении флажка, данные будут автоматически обновляться только при открытии книги.
  • Удалить данные из внешнего диапазона перед сохранением книги — эта опция доступна только при установленном флажка Обновить при открытии файла и в случае импорта данных в виде запроса. Установление флажка позволяет сохранять книгу с определением запроса, но без внешних данных.

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

В начало страницы

В начало страницы

Импорт csv и txt файлов в Excel c помощью Power Query

Одним из популярных источников для импорта в Power Query являются файлы типа .csv или .txt. Традиционные методы импорта и объединения текстовых файлов довольно неуклюжи и отнимают много времени. Однако применение Power Query многократно облегчает решение проблемы. Пусть у нас есть отчет о продажах за январь в формате .csv. Задача в том, чтобы импортировать его в Excel.

Создадим запрос Power Query (в Excel 2016) Данные – Скачать и преобразовать – Создать запрос – Из файла – Из CSV (либо Из текста, если импортируете из .txt).

В открывшемся окне указываем путь к файлу. Далее в предпросмотре убеждаемся, что выбран нужный файл, и нажимаем Изменить, чтобы попасть в редактор Power Query.

Power Query распознал и разделил данные по столбцам. Также автоматически выполнены шаги:

• Первая строка повышена в заголовки

• Изменен тип для каждого столбца

Если обработки не требуется, то результат можно выгружать в книгу Эксель Главная – Закрыть – Закрыть и загрузить.

На новом листе создается Таблица Excel.

Теперь можно проводить анализ внутри Excel. К этому мы еще вернемся. Прошел месяц, и у нас появился такой же файл .csv за февраль. Возникает вопрос, как объединить данные за два месяца? В Power Query для этого есть специальные инструменты.

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

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

Делаем новый запрос на файл за февраль и сразу создаем только соединение.

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

В Power Query есть два типа объединения запросов: Добавление (Append) и Объединение (Merge). Нас интересует добавление, т.к. таблицы должны быть сложены вместе (одна под другой). Объединение нужно для слияния запросов по ключевому полю, но об этом в другой раз.
Сейчас заходим Главная – Скачать и преобразовать – Создать запрос – Объединить запросы – Добавить.

Далее нужно выбрать добавляемые запросы.

Следует понимать две вещи.

• Добавлять можно только запросы (а не Таблицы Excel)

• Запрос в верхнем поле будет первым сверху

Добавить можно было бы и больше запросов, выбрав в верхней строке Три таблицы или больше, но у нас только два. Нажимам ОК. Создается объединенный запрос под названием Append1.

Изменим название на Отчет о продажах и выгрузим данные в Excel (Главная – Закрыть – Закрыть и загрузить). Итого получим три запроса.

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

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

Нажимаем ОК и снова выгружаем обновленные данные в Excel (Главная – Закрыть – Закрыть и загрузить). Теперь в Таблице Excel находятся данные за три месяца. Нужно только обновить сводную таблицу.

Для импорта новых файлов нужно будет повторить все действия:

• создание нового запроса

• добавление его в объединяющий запрос Отчет о продажах

• выгрузка в Excel

• обновление сводной таблицы.

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

Импорт из папки

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

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

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

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

Идея в том, чтобы в столбце Extension поставить фильтр на расширение .csv. Чтобы случайно не отфильтровать файлы .CSV, сделаем все буквы для столбца Extension маленькими. Для этого выделяем столбец, далее через правую кнопку мыши Преобразование – нижний регистр. Переходим к установке фильтра. Если в выпадающем списке фильтра поставить переключатель на значение .csv, то у нас ничего не получится, т.к. при единственном типе файлов будет автоматически выделен пункт Выбрать все. Поэтому выбираем Текстовые фильтры – Равно… и указываем .csv (обязательно с точкой впереди).

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

Приступим к извлечению данных. Содержимое файлов скрыто в колонке Content за значением Binary.

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

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

Это кнопка загрузки двоичного (бинарного) файла. Жмем. И о чудо! Содержимое всех трех файлов один за другим выгружается в единую таблицу.

Однако на этот раз потребуется вручную внести некоторые корректировки.

• Удалим последний шаг Измененный тип

Преобразование – Использовать первую строку в качестве заголовков

• Правой кнопкой мыши по полю Дата – Тип изменения – Дата

• Удерживая Shift, выделяем два столбца Наименование и Менеджер, затем через правую клавишу мыши Тип изменения – Текст

• Через Shift выделяем остальные столбцы Цена, Стоимость, Комиссия – правая клавиши мыши – Тип изменения – Десятичное число

• Правой кнопкой мыши по полю Дата – Удалить ошибки

Главная – Закрыть – Закрыть и загрузить

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

Сводная таблица построена по 116 строкам. Таким же образом можно было бы объединить и 10 файлов с сотнями тысяч строк.

Добавление в запрос новых файлов и обновление сводной таблицы

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

И вот здесь наступает момент истины. Все что нужно, это закинуть новые файлы в указанную папку и на ленте во вкладке Данные нажать Обновить все. Первое нажатие обновит все запросы, второе – сводные таблицы.

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

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

Офисное пространство Офисное пространство

официальный блог о Microsoft Office

Импорт и экспорт данных в Excel 2010

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

Статья будет про импорт и экспорт данных в Excel 2010.

Импорт данных из файлов других форматов

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

1. Чтобы импортировать данные из текстового файла, на вкладке Данные в разделе Получить внешние данные щелкните на кнопке Из текста (рис.2).

2. В результате отобра­зиться диалоговое окно Импорт текстового файла (рис.3).

3. С помощью этого диалогового окна (рис.3) можно перейти в папку, со­держащую файл, который нужно импортировать. Двойной щел­чок на файле или по кнопке Импорт запускает Мастер импорта текста (рис.4).

4. Первая страница мастера позволяет указать формат данных: с разделителем или с фиксированной шириной. Фиксированная ширина означает, что поля имеют заданную ширину. Необходимо также указать место начала импорта и Формат файла, например, Кириллица. Если щелк­нуть на кнопке Далее, мастер примет заданный по умолча­нию параметр и перейдет к следующей странице (рис.5).

5. На второй странице мастера (рис.5) можно выбрать разделитель (в данном случае Ехсеl обнаружил в файле символ табуляции и вы­делил соответствующий флажок) и просмотреть образец разбора данных. При предварительном просмотре в качестве символа разделения была использована запятая (рис.4), поэтому необходимо вы­делить флажком символ-разделителя Запятая. Щелкнув на кнопке Далее, можно перейти к пос­ледней странице мастера (рис.6).

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

7. Нажав кнопку ОК завершается процесс импорта данных и они появляются на рабочем столе (рис.8).

Аналогично можно импортировать эти данные в Ехсеl 2010 и из других источников (рис.9).

Экспорт данных в файл

Чтобы осуществить Экспорт данных в файл необходимо перейти на вкладку Файл и воспользоваться командой Сохранить и отправить.

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

1. Выполните команду: Файл ðСохранить и отправить ð Изменить тип файла ð Другие типы файлов ð Текстовой формат с разделителями табуляции (рис.11).

2. В диалоговом окне Сохранение документа нажмите кнопку Сохранить (рис.11). Нажмите ОК, чтобы подтвердить, что желаете сохранить текущий лист (рис.12).

3. В результате будет создан текстовой файл, в котором данные книги будет разделены знаками табуляции (рис.13).

Аналогично можно импортировать эти данные из Ехсеl 2010 и в другие источники, воспользоваться командой Сохранить как, например, как MHTML-документ (рис.14).

Выводы и рекомендации

1. Импортировать данные в Ехсеl 2010 можно из совместимых форматов в виде текстового файла, таблиц баз данных, Интернет и других источников.

2. Экспорт данных в файл необходимо осуществлять с вкладки Файл, воспользоваться командами Сохранить и отправить или Сохранить как.

Like this post? Please share to your friends:
  • Интеграция pdf в word
  • Интеграция excel в powerpoint
  • Интегральный процент в excel это
  • Интегральный процент в excel формула
  • Интегральное уравнение в excel