Как заставить электронную таблицу 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() - это суббота или воскресенье.

Другие вопросы по тегам