Я пытаюсь умножить количество принадлежащих акций на текущую цену, однако получаю следующую ошибку:
Function MULTIPLY parameter 2 expects number values. But 'OWNED SHARES' is a text and cannot be coerced to a number.
Функция
= {"SHARES PRICE";BYROW(A2:A, LAMBDA(r, IF(r = "",,GOOGLEFINANCE(r, "price")*B:B)))}
Я пробовал *B2:B, но это не работает.
Демонстрация Excel: https://docs.google.com/spreadsheets/d/1e9khzIuRrx9kJHyp8CqS22qX98aLg-50cfd9FCks7fc/edit?usp=sharing
Примечание: Я добавил +100 в функцию собственных акций только для демонстрации, она загружает данные из другого листа в реальности.





Я создал рабочую формулу в вашей ссылке на таблицу
Проблема в том, что умножая на B:B вы умножаете текст Owned Shares. Здесь вам нужно получить значения в вашем Owned Shares после 1-й строки, что вызовет ошибку для каждой строки.
Что вам нужно сделать, это использовать это:
= {
"SHARES PRICE";
BYROW(
F2:F,
LAMBDA(
r,
IF(
r = "",
,
IF(
ROW(r)=1,
,
GOOGLEFINANCE(
r,
"price"
)
*INDIRECT(
CONCAT(
"B",
ROW(r)
)
)
)
)
)
)}
Здесь я заменил наш *B:B на An If, проверяя, первая ли это строка. Если не,
Он получает значение ячейки в B и в строке r с Indirect и умножает его на ваши значения Owned Shares.
использовать:
= {"SHARES PRICE"; INDEX(IFERROR(BYROW(A2:INDEX(A:A, COUNTA(A:A)),
LAMBDA(x, GOOGLEFINANCE(x, "price")))*B2:B))}
Еще раз спасибо player0 Мне нравятся ваши простые решения! ❤️
Спасибо, Нео, все работает! Но я буду использовать ответ player0, так как его легче понять :-)