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);
});
}