Google Finance не распознает мое поле даты и возвращает сообщение об ошибке

У меня проблема со следующей формулой в таблицах Google:

= IFS (F2 ‹› EUR, E2 * GOOGLEFINANCE (Валюта: & F2 & $ G $ 1, цена, H2), F2 = EUR, E2)

H2 - это ячейка, в которой находится дата. Я пытаюсь получить формулу, которую можно использовать для нескольких разных дат. Я получил следующее сообщение об ошибке:

Параметр 2 функции MULTIPLY ожидает числовые значения. Но «Дата» - это текст, и его нельзя преобразовать в число.

Согласно моим исследованиям, формула имеет следующие ограничения:

= GOOGLEFINANCE (Валюта: USDGBP, цена, ДАТА (ГГГГ, ММ, ДД), ДАТА (ГГГГ, ММ, ДД)

Где первая вложенная функция DATE - это дата начала, а вторая функция DATE - дата окончания. И они не обязательны.

Я попробовал Date (H2) и получил следующее сообщение об ошибке:

Неверное количество аргументов для DATE. Ожидается 3 аргумента, но получен 1 аргумент.

Заранее спасибо!


person Chiara    schedule 26.04.2021    source источник
comment
избавьтесь от DATE (H2) и вместо этого просто поместите H2   -  person MattKing    schedule 26.04.2021
comment
к сожалению, это не сработало   -  person Chiara    schedule 26.04.2021
comment
Я получаю это сообщение. При оценке GOOGLEFINANCE запрос символа "ВАЛЮТА: AUDEUR" не дал данных.   -  person Chiara    schedule 26.04.2021


Ответы (2)


каждый раз, когда GoogleFinance () возвращает исторический массив, вам нужно выполнить INDEX (), чтобы получить только единственный ответ.

Почти всегда это вторая строка и второй столбец массива, который вам нужен.

So:

=INDEX(Goooglefinance(.... ), 2, 2)
person MattKing    schedule 26.04.2021

Я проверил вашу функцию, и ошибка Параметр 2 функции MULTIPLY ожидает числовых значений. Но «Дата» - это текст, и его нельзя принуждать к числу. возникает из-за этой части E2*GOOGLEFINANCE("Currency:"&F2&$G$1,"price", H2) в вашей функции IFS.

Возвращаемое значение GOOGLEFINANCE("Currency:"&F2&$G$1,"price", H2) - это массив (он содержит строки и числа), и умножение его на значение E2 невозможно. Кроме того, если запуск только GOOGLEFINANCE("Currency:"&F2&$G$1,"price", H2) работает нормально, то H2 (ячейка даты) не является основной причиной ошибки.

РЕКОМЕНДУЕМОЕ РЕШЕНИЕ:

Я проверил, как возвращать только цену вместо массива в функции GOOGLEFINANCE, и наткнулся на ответ от Как заставить GOOGLEFINANCE возвращать только историческую цену акции, а не массив? .

Вместо этого вы можете попробовать эту функцию ниже:

=IFS(F2<>"EUR", min(GoogleFinance("Currency:"&F2&$G$1, "PRICE", H2))*E2, F2 = "EUR",E2)

Вот образец теста с моей стороны:

введите описание изображения здесь

person Irvin Jay G.    schedule 26.04.2021
comment
Спасибо за помощь! К сожалению, когда я это делаю, я получаю следующее сообщение об ошибке: При оценке GOOGLEFINANCE запрос символа: «ВАЛЮТА: AUDEUR» не вернул данных. Это тоже не работает: GOOGLEFINANCE (Валюта: & F2 & $ G $ 1, цена, H2) Я получаю сообщение об ошибке, что дата является текстом - я получаю значения с другого листа с индексным соответствием, не уверен, что это усложняет вопрос - person Chiara; 27.04.2021
comment
Пожалуйста. Было бы полезно, если бы вы могли поделиться фрагментом своих данных / образцом, чтобы мы могли правильно воспроизвести вашу проблему. - person Irvin Jay G.; 27.04.2021