Как заставить электронную таблицу Google обновляться каждый день (в тот же день)?
Моя электронная таблица Google использует функцию:
=GOOGLEFINANCE(TICKER,"all",DATE(yyyy/mm/dd),DATE(yyyy/mm/dd),"DAILY")
получать ежедневные цены на акции из моего портфеля.
К сожалению, он показывает данные об однодневной задержке, как я могу добавить данные за тот же день в свой лист Google?
2 ответа
Вы можете использовать скрипт Google Apps, чтобы создать управляемый по времени триггер, который запускает желаемую функцию каждый день. В этом случае триггер для создания будет EveryDays, а предоставленный параметр будет1
.
Вы можете создать этот триггер вручную с помощью редактора скриптов, как показано здесь, или программно, используя службу скриптов, запустив такую функцию:
function createDailyTrigger() {
ScriptApp.newTrigger("callGoogleFinance")
.timeBased()
.everyDays(1)
.create();
}
Затем вы можете использовать функцию, которая запускается каждый день (я назвал ее callGoogleFinance
) звонить GOOGLEFINANCE
используя setFormula в ячейке и указав формулу в качестве параметра:
function callGoogleFinance() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("your-sheet-name"); // Please provide your sheet name here
var cell = sheet.getRange("your-range"); // Please provide the row and column of your cell here
cell.setFormula("=GOOGLEFINANCE(TICKER,\"all\",DATE(yyyy/mm/dd),DATE(yyyy/mm/dd)");
}
Я надеюсь, что это поможет.
GOOGLEFINANCE получает текущую или историческую информацию о ценных бумагах из Google Finance. Если указаны какие-либо параметры даты, запрос считается историческим. Но текущая дата, по-видимому, в вашем случае не считается исторической. Это, кажется, как GOOGLEFINANCE извлекает информацию из и в том числе датой_начала, вплоть до, но исключая датой_окончания. Чтобы включить end_date, вам нужно добавить один день.
Если end_date - СЕГОДНЯ (), добавление одного дня не поможет. Чтобы убедиться, что вы получаете данные за текущий день, вы можете попробовать добавить GOOGLEFINANCE без параметра даты.
={
GOOGLEFINANCE("GOOG","price", TODAY()-30, GOOGLEFINANCE("GOOG", "tradetime"));
{
GOOGLEFINANCE("GOOG", "tradetime"),
GOOGLEFINANCE("GOOG", "priceopen")
} }
GOOGLEFINANCE("GOOG", "tradetime") в качестве параметра позволяет избежать дублирования дат, когда TODAY() - это суббота или воскресенье.