Финансы Google как аргумент для ArrayFormula - PullRequest
1 голос
/ 26 марта 2020
=ARRAYFORMULA(IF(ROW(B:B)=1, "Share Price", IF(ISBLANK(B:B), "", googlefinance(B:B, "price"))))

Я пытаюсь сделать так, чтобы строка 1 (строка моего заголовка) имела имя, а затем под ним, если действительный символ тикера является входным параметром в столбце B, чтобы Google Finance получил цену этой акции. Тем не менее, я получаю N / A во всех ячейках ниже "цена акции" и не могу понять, почему.

Помогите, пожалуйста.

edit: Ссылка на лист: https://docs.google.com/spreadsheets/d/1lyYYzLrFHfjojlL27bQ6ligNz2DBVpSM24jYfAVBVQs/edit?usp=sharing

1 Ответ

1 голос
/ 26 марта 2020

GOOGLEFINANCE уже своего рода ArrayFormula, поэтому это не будет работать так, как вы ожидаете ...

вам нужно будет использовать скрипт:

function onOpen(e){this.arrayThis("C1:C");}    //COLUMN WHERE YOU WANT TO HAVE THE RESULT
function arrayThis(range){
SpreadsheetApp.getActiveSpreadsheet().getRange(range).setValue(SpreadsheetApp.getActiveSpreadsheet().getRange(range).getCell(1,1).getFormula());
}

, где C1 должно быть:

=IF(ROW(B1)=1, "Share Price", IF(B1="",,GOOGLEFINANCE(B1, "price")))

0

...