Как импортировать несколько таблиц из Google Sheets с помощью ImportHTML: подробное руководство

Google Таблицы — мощный инструмент для организации и анализа данных. Одной из его удобных функций является функция IMPORTHTML, которая позволяет импортировать данные с веб-сайтов в электронную таблицу. В этой статье мы рассмотрим различные методы импорта нескольких таблиц из Google Sheets с помощью функции IMPORTHTML, а также примеры кода. Давайте погрузимся!

Метод 1. Импорт таблиц с использованием разных URL-адресов.
Если таблицы, которые вы хотите импортировать, расположены на разных веб-страницах, вы можете использовать несколько функций IMPORTHTML, каждая из которых ссылается на свой URL-адрес. Вот пример:

=IMPORTHTML("https://example.com/page1", "table", 1)
=IMPORTHTML("https://example.com/page2", "table", 1)

Метод 2: импорт таблиц с одного и того же URL-адреса с разными индексами таблиц.
Если таблицы, которые вы хотите импортировать, находятся на одной веб-странице, но имеют разные индексы таблиц, вы можете указать параметр индекса в функции IMPORTHTML. Вот пример:

=IMPORTHTML("https://example.com/page", "table", 1)
=IMPORTHTML("https://example.com/page", "table", 2)

Метод 3. Импорт таблиц с пользовательскими формулами.
Вы также можете использовать пользовательские формулы для импорта нескольких таблиц из Google Sheets. В следующей формуле используется функция QUERY для импорта нескольких таблиц:

=QUERY(IMPORTHTML("https://example.com/page", "table", 1), "SELECT *")
=QUERY(IMPORTHTML("https://example.com/page", "table", 2), "SELECT *")

Метод 4. Импорт таблиц с помощью скрипта Google Apps
Если вам требуется большая гибкость и настройка, вы можете использовать скрипт Google Apps для импорта нескольких таблиц из Google Sheets. Вот пример скрипта, который импортирует две таблицы:

function importTables() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var tables = [
    {
      url: "https://example.com/page1",
      tableIndex: 1
    },
    {
      url: "https://example.com/page1",
      tableIndex: 2
    }
  ];

  tables.forEach(function(table) {
    var data = ImportHTML(table.url, "table", table.tableIndex);
    sheet.getRange(sheet.getLastRow() + 1, 1, data.length, data[0].length).setValues(data);
  });
}