Доброго дня! Задача: Есть 3 источника о прогнозе погоды и один источник с историей фактической температуры. Смысл в том что нужно выяснить какой из источников более корректен. Изначально нужно импортировать данные о прогнозе погоды с разных источников в таблицу, на первом листе. Сделал так:
Периодически (раз в сутки) сохранять импортированные значения с этих самых разных источников, на другом одном листе. Под словом "сохранять" я имею в виду, каждый день, оставлять прошлые значения и добавлять обновлённые. Алгоритм работы в теории: Допустим, сегодня вторник, 24.03 1. Берем значения максимальной, минимальной и средней температуры на сегодня за 24.03 2. Сохраняем эти значения на листе 2. После обновления данных, у источника погоды. На уже наступившее завтра, 25.03 1. Берем значения максимальной, минимальной и средней температуры на 25.03 2. Записываем на лист2 не вместо прошлых значений, а со сдвигом, в следующем столбце.
Получается на листе1 постоянно указывается только прогноз погоды. А на листе2 история + сегодня.
Доброго дня! Задача: Есть 3 источника о прогнозе погоды и один источник с историей фактической температуры. Смысл в том что нужно выяснить какой из источников более корректен. Изначально нужно импортировать данные о прогнозе погоды с разных источников в таблицу, на первом листе. Сделал так:
Периодически (раз в сутки) сохранять импортированные значения с этих самых разных источников, на другом одном листе. Под словом "сохранять" я имею в виду, каждый день, оставлять прошлые значения и добавлять обновлённые. Алгоритм работы в теории: Допустим, сегодня вторник, 24.03 1. Берем значения максимальной, минимальной и средней температуры на сегодня за 24.03 2. Сохраняем эти значения на листе 2. После обновления данных, у источника погоды. На уже наступившее завтра, 25.03 1. Берем значения максимальной, минимальной и средней температуры на 25.03 2. Записываем на лист2 не вместо прошлых значений, а со сдвигом, в следующем столбце.
Получается на листе1 постоянно указывается только прогноз погоды. А на листе2 история + сегодня.terat
Сообщение отредактировал terat - Среда, 25.03.2020, 12:33
Ответ да можно. Создайте конкретный пример и начните делать, на затыках задавайте вопросы, что вам не понятно. Если вам нужно готовое решение вам на ветку: Работа
Импортировать данные о прогнозе погоды с разных источников в таблицу.
Тут вам помогут IMPORTHTML и IMPORTXML, если источники это сайты или IMPORTRANGE если источники это таблицы гугл 2/3 - можно решить написав скрипт в google apps script
Читайте правила форума, один вопрос - одна тема. Если ваш вопрос:
Ответ да можно. Создайте конкретный пример и начните делать, на затыках задавайте вопросы, что вам не понятно. Если вам нужно готовое решение вам на ветку: Работа
Импортировать данные о прогнозе погоды с разных источников в таблицу.
Тут вам помогут IMPORTHTML и IMPORTXML, если источники это сайты или IMPORTRANGE если источники это таблицы гугл 2/3 - можно решить написав скрипт в google apps scriptKashimirush
У меня один вопрос, одна тема, одно задание. Которое имеет связь из трех подпунктов которые описал.
Источники сайты, IMPORTHTML использую. Пример: Таблица которая есть у источника (сайта): A, B, C 1 +10 +11 +15 2 +10 +9 +12 3 +11 +7 +6 Таких источников 3. Ее же и импортировал на лист1.
Значения у источника актуальны на сегодня, завтра значения поменяются, и значения будут обновлены на листе1. Необходимо записать на лист2 и старые значения и новые. Так же есть источник сайт с историей погоды. И от туда по такому же принципу необходимо записывать значения и сравнивать с источниками погоды.
Вопрос как произвести запись значений, ведь при простой ссылке значение обновится и там и там. И как правильнее производить подобные сравнения (я имею ввиду у источника1 +10, у источника2 +11, а у источника3 +10, а по факту было +10 тогда прав источник 3 и 1, и их нужно как-то отметить.
Или у меня вопрос большой, не конкретный и требует темы в ветке фриланса?)
У меня один вопрос, одна тема, одно задание. Которое имеет связь из трех подпунктов которые описал.
Источники сайты, IMPORTHTML использую. Пример: Таблица которая есть у источника (сайта): A, B, C 1 +10 +11 +15 2 +10 +9 +12 3 +11 +7 +6 Таких источников 3. Ее же и импортировал на лист1.
Значения у источника актуальны на сегодня, завтра значения поменяются, и значения будут обновлены на листе1. Необходимо записать на лист2 и старые значения и новые. Так же есть источник сайт с историей погоды. И от туда по такому же принципу необходимо записывать значения и сравнивать с источниками погоды.
Вопрос как произвести запись значений, ведь при простой ссылке значение обновится и там и там. И как правильнее производить подобные сравнения (я имею ввиду у источника1 +10, у источника2 +11, а у источника3 +10, а по факту было +10 тогда прав источник 3 и 1, и их нужно как-то отметить.
Или у меня вопрос большой, не конкретный и требует темы в ветке фриланса?)terat
Тут вам нужно воспользоваться скриптами либо записать макрос: Т.к. Примера конкретной тестовой таблицы вы не предоставили , ответ будет выглядеть как направление куда вам двигаться дальше: Пример создания макроса
terat, У вас 3 вопроса по разным темам, по сути три ветки, если с импортом разобрались, по второму вопросу:
Тут вам нужно воспользоваться скриптами либо записать макрос: Т.к. Примера конкретной тестовой таблицы вы не предоставили , ответ будет выглядеть как направление куда вам двигаться дальше: Пример создания макросаKashimirush
у вас ТРИ разных вопроса. Все в одной теме. - п.4 Правил форума: один вопрос - одна тема Отредактируйте плиз ваше первое сообщение Помогающим просьба воздержаться от ответов в этой теме до исправления замечания
у вас ТРИ разных вопроса. Все в одной теме. - п.4 Правил форума: один вопрос - одна тема Отредактируйте плиз ваше первое сообщение Помогающим просьба воздержаться от ответов в этой теме до исправления замечаниякитин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ну куда деваться. Помощь нужна мне все таки, а не вам. p.s. убрал третий пункт, и подчеркнул что первый пункт это не вопрос, я хотел лишь алгоритм объяснить. p.p.s ну и дополнил, а то как показалось я не достаточно подробно изложил вопрос.
Т.к. Примера конкретной тестовой таблицы вы не предоставили , ответ будет выглядеть как направление куда вам двигаться дальше:
Видео толковое, давно все пересмотрел по этой теме на канале. Ответа к сожалению не нашел, или не понял автора, но много полезного все равно почерпнул. Первое сообщение дополнил.
Ну куда деваться. Помощь нужна мне все таки, а не вам. p.s. убрал третий пункт, и подчеркнул что первый пункт это не вопрос, я хотел лишь алгоритм объяснить. p.p.s ну и дополнил, а то как показалось я не достаточно подробно изложил вопрос.
Т.к. Примера конкретной тестовой таблицы вы не предоставили , ответ будет выглядеть как направление куда вам двигаться дальше:
Видео толковое, давно все пересмотрел по этой теме на канале. Ответа к сожалению не нашел, или не понял автора, но много полезного все равно почерпнул. Первое сообщение дополнил.terat
В данном видео как раз ответ на вопрос о копировании данных с одного листа на второй с сохранением базы всех данных на втором листе, просто нужно подкрутить скрипт под вашу таблицу и установить триггер на нужное время. Опубликуйте пример таблицы, с указанием какие ячейки куда и когда вы хотите сохранять, и тогда на примере сможем конкретно разобрать скрипт.
В данном видео как раз ответ на вопрос о копировании данных с одного листа на второй с сохранением базы всех данных на втором листе, просто нужно подкрутить скрипт под вашу таблицу и установить триггер на нужное время. Опубликуйте пример таблицы, с указанием какие ячейки куда и когда вы хотите сохранять, и тогда на примере сможем конкретно разобрать скрипт.Kashimirush
просто нужно подкрутить скрипт под вашу таблицу и установить триггер на нужное время.
Таблица вот: https://docs.google.com/spreads....sharing Она открыта, лист2 это то куда нужно все и записывать. Как заставить записывать значения со сдвигом? Вот на листе 2 дата есть за 25 число, на сегодня 25, т.е. макрос должен записать значение за сегодня, а завтра сдвинуться вправо и сделать запись там и так далее.
Вот это до меня не дошло по видео, не понимаю как это работает.
просто нужно подкрутить скрипт под вашу таблицу и установить триггер на нужное время.
Таблица вот: https://docs.google.com/spreads....sharing Она открыта, лист2 это то куда нужно все и записывать. Как заставить записывать значения со сдвигом? Вот на листе 2 дата есть за 25 число, на сегодня 25, т.е. макрос должен записать значение за сегодня, а завтра сдвинуться вправо и сделать запись там и так далее.terat
Данные то из трех источников берутся, пока взял для примера один, чтобы понять как это все дело работает, если пойму с одним источником как происходит запись, то два других добавить не вопрос. Не добавлял для упрощения задачи.
Скрытые строки - пока не нужна информация. Тоже для упрощения задачи.
Данные то из трех источников берутся, пока взял для примера один, чтобы понять как это все дело работает, если пойму с одним источником как происходит запись, то два других добавить не вопрос. Не добавлял для упрощения задачи.
Скрытые строки - пока не нужна информация. Тоже для упрощения задачи.terat
Сообщение отредактировал terat - Среда, 25.03.2020, 13:20
terat, Зайдите инструменты редактор скриптов, запустите скрипт Copy и посмотри что получится, вроде так вы хотели. Если в редакторе скриптов нажатьна символ часов, можно данному скрипту поставить триггер (каждый день, каждый час и т.д.) - там все понятно.
Тут , конечно, да задачу упростили, но боюсь когда добавите 2 других таблицы задача усложнится, потому что, я сомневаюсь что формат таблиц одинаковый на разных сайтах и скрипт превратиться в минное поле, где ошибешься на единичку в каком нибудь диапазоне и все пойдет коту под хвост. [p.s.]Заметьте, как странно со звездочками импортируются данные с ними сложно будет работать, т.к. по умолчанию они идут как текст, советую изучить IMPORTXML и попытаться выудить каждое значение отдельно в нужную ячейку.
terat, Зайдите инструменты редактор скриптов, запустите скрипт Copy и посмотри что получится, вроде так вы хотели. Если в редакторе скриптов нажатьна символ часов, можно данному скрипту поставить триггер (каждый день, каждый час и т.д.) - там все понятно.
Тут , конечно, да задачу упростили, но боюсь когда добавите 2 других таблицы задача усложнится, потому что, я сомневаюсь что формат таблиц одинаковый на разных сайтах и скрипт превратиться в минное поле, где ошибешься на единичку в каком нибудь диапазоне и все пойдет коту под хвост. [p.s.]Заметьте, как странно со звездочками импортируются данные с ними сложно будет работать, т.к. по умолчанию они идут как текст, советую изучить IMPORTXML и попытаться выудить каждое значение отдельно в нужную ячейку.Kashimirush
Итоговый скрипт, для 3х источников будет выглядеть так:
[vba]
Код
function Copy() { //Получаем доступ к активной таблице var spreadsheet = SpreadsheetApp.getActive(); //Лист откуда копируем var sheet1 = spreadsheet.getSheetByName('Лист1'); //Лист куда вставляем var sheet2 = spreadsheet.getSheetByName('Лист2'); //Указывем колонку перед которой добавится еще одна var trigger = sheet2.getRange('B1').getColumn(); //Берем значения из целевого листа и нужного диапазона var CopyRange = sheet1.getRange('B1:D5').getValues(); //Определяем диапазон куда будем вставлять полученные данные var PastRange = sheet2.getRange('B1:D5'); //Вставляем колонку sheet2.insertColumnsBefore(trigger, 3); //Вставляем значения PastRange.setValues(CopyRange); }
Итоговый скрипт, для 3х источников будет выглядеть так:
[vba]
Код
function Copy() { //Получаем доступ к активной таблице var spreadsheet = SpreadsheetApp.getActive(); //Лист откуда копируем var sheet1 = spreadsheet.getSheetByName('Лист1'); //Лист куда вставляем var sheet2 = spreadsheet.getSheetByName('Лист2'); //Указывем колонку перед которой добавится еще одна var trigger = sheet2.getRange('B1').getColumn(); //Берем значения из целевого листа и нужного диапазона var CopyRange = sheet1.getRange('B1:D5').getValues(); //Определяем диапазон куда будем вставлять полученные данные var PastRange = sheet2.getRange('B1:D5'); //Вставляем колонку sheet2.insertColumnsBefore(trigger, 3); //Вставляем значения PastRange.setValues(CopyRange); }