О, спасибо тебе, добрый человек! Не хватает репутации, чтобы поставить + тебе.
Итак, для получения цены BID (лучшая котировка на покупку для оценки портфеля) для тикера, например, из ячейки C3, вместо кривой формулы:
=GOOGLEFINANCE("MCX:" & C3)
которая не работает с привелигированными акциями, ещё и округляет дробные значения (у ФСК, ТГК-1 и др.) до бесполезных значений, используем такую формулу:
=IMPORTHTML("http://iss.moex.com/iss/engines/stock/markets/shares/boards/tqbr/securities.html?iss.meta=on&iss.only=marketdata&marketdata.columns=SECID,LAST"; "table";1)А потом на другом листе с помощью VLOOKUP находить по тикеру соответствующую цену.
И можно добавить макрос, который перезаписывает формулу, чтобы принудительно обновить котировки:
=IMPORTXML("https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities/AFKS.xml?iss.meta=off&iss.only=marketdata&marketdata.columns=LAST"; "//@LAST")это вариант для русской локали, а для американской вместо последей ";" ставим ","
Итак, для получения цены BID (лучшая котировка на покупку для оценки портфеля) для тикера, например, из ячейки C3, вместо кривой формулы:
=GOOGLEFINANCE("MCX:" & C3)которая не работает с привелигированными акциями, ещё и округляет дробные значения (у ФСК, ТГК-1 и др.) до бесполезных значений, используем такую формулу:
=SUBSTITUTE( IMPORTxml("https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities.xml?iss.meta=off&iss.only=marketdata&marketdata.columns=SECID,BID"; "//row[@SECID='" & C3 & "']/@BID") ;".";",")а в ваших примерах вместо CONCATENATE проще использовать &
iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities.xml?iss.meta=off&iss.only=securities
и тут нет текущей котировки (пусть с 15мин задержкой)
<row SECID="AFKS" BOARDID="TQBR" SHORTNAME="Система ао" PREVPRICE="18.7" LOTSIZE="100" FACEVALUE="0.09" STATUS="A" BOARDNAME="Т+: Акции и ДР - безадрес." DECIMALS="3" SECNAME="АФК "Система" ПАО ао" REMARKS="" MARKETCODE="FNDT" INSTRID="EQIN" SECTORID="EQ-N" MINSTEP="0.001" PREVWAPRICE="18.372" FACEUNIT="SUR" PREVDATE="2020-02-19" ISSUESIZE="9650000000" ISIN="RU000A0DQZE3" LATNAME="AFK Sistema" REGNUMBER="1-05-01669-A" PREVLEGALCLOSEPRICE="18.7" PREVADMITTEDQUOTE="18.7" CURRENCYID="SUR" SECTYPE="1" LISTLEVEL="1" SETTLEDATE="2020-02-25"/>а только котировка на конец предыдущего торгового дня…