Проблема извлечения данных Excel

avatar
Zohan
8 августа 2021 в 16:14
43
1
0

Создание списка отслеживания моих инвестиций. У меня установлен API, который предоставляет необработанные рыночные данные в реальном времени, но не мои конкретные инвестиции. Я хочу ввести столбец, показывающий, как активы работают в течение 24 часов (эти данные находятся на листе2). Данные на листе 2 постоянно меняются, поскольку они сортируются по рыночной капитализации, поэтому в зависимости от того, как активы работают в данный день, данные постоянно меняются. Мой список инвестиций находится на листе 1, и я хочу выполнить формулу, которая сможет получить правильные данные с листа 2 и внедрить их в правильный столбец на листе 1.

Пример:

Я хочу взять % производительности за 24 часа из листа 2 (где находятся необработанные данные) акции «AAPL» и вставить ее рядом с Листом 1, где я отслеживаю свои инвестиции по символу акции: AAPL

Для приведенной ниже формулы:

C6 - это место, где я храню СИМВОЛ (т.е. "AAPL").

latest[Column1.symbol] — столбец в указанном листе2, соответствующий символу.

latest[Column1.quote.USD.percent_change_24h] — необработанные данные для 24-часового % изменения акций.

Я думал, что это будет что-то вроде:

=IF(ISTEXT(C6),FIND("AAPL",latest[Column1.symbol])(latest[Column1.quote.USD.percent_change_24h]),(""))

По-видимому, формула не удалась.

Кто-то прокомментировал предыдущий пост следующим образом: «Создайте столбец, показывающий прогресс за 24 часа, затем используйте vlookup() или index() и match(), чтобы вернуть значение» — я все еще не могу найти правильную формулу

Мой ответ был таким: «На листе 1 у меня есть 24-часовое % изменение, но как мне получить данные с листа 2. Формула, которую я сделал сейчас: <42297236555620>, но вы можете заметить, что в ней нет никаких инструкций чтобы получить правильные данные. Эта формула возвращает ошибку N/A. Для справки: данные, которые мне нужно получить, взяты из столбца "F" на листе 2."

Будем очень признательны за любую помощь.

Источник

Ответы (1)

avatar
David
8 августа 2021 в 17:26
0

Я бы посоветовал ознакомиться с облачным API IEX по адресу IEX Excel How To

.

После того, как вы зарегистрируетесь и получите бесплатный ключ, вы сможете загружать данные в режиме реального времени. Например, чтобы получить данные APPLE, вы должны использовать WEBSERVICE("https://cloud.iexapis.com/stable/stock/aapl/quote/latestPrice?token=YOUR_TOKEN_HERE") с вашим токеном.

Если вы можете прикрепить копию своей электронной таблицы, возможно, я смогу вам помочь. Вот ссылка на шаблон IEX, в который я внес несколько изменений. Просто добавьте свой токен для обновленных данных. Я добавил столбцы для changePercent, open, close, high, low и volume. Вот пример необработанных данных, который показывает другие переменные, для которых вы можете получить данные.

{"symbol":"AAPL",
"companyName":"Apple Inc",
"primaryExchange":"NASDAQ/NGS (GLOBAL SELECT MARKET)",
"calculationPrice":"close","open":146.27,
"openTime":1628256600564,"openSource":"official",
"close":146.14,"closeTime":1628280000832,
"closeSource":"official",
"high":147.11,
"highTime":1628280000018,
"highSource":"15 minute delayed price",
"low":145.63,
"lowTime":1628276124261,
"lowSource":"15 minute delayed price",
"latestPrice":146.14,
"latestSource":"Close",
"latestTime":"August 6, 2021","
latestUpdate":1628280000832,
"latestVolume":54126458,
"iexRealtimePrice":null,
"iexRealtimeSize":null,
"iexLastUpdated":null,
"delayedPrice":146.14,
"delayedPriceTime":1628279999937,
"oddLotDelayedPrice":146.035,
"oddLotDelayedPriceTime":1628279993919,
"extendedPrice":145.96,
"extendedChange":-0.18,
"extendedChangePercent":-0.00123,
"extendedPriceTime":1628294398800,
"previousClose":146.84,
"previousVolume":46397674,
"change":-0.7,
"changePercent":-0.00477,
"volume":54126458,
"iexMarketPercent":null,
"iexVolume":null,
"avgTotalVolume":82684813,
"iexBidPrice":null,
"iexBidSize":null,
"iexAskPrice":null,
"iexAskSize":null,
"iexOpen":146.11,
"iexOpenTime":1628279999601,
"iexClose":146.11,
"iexCloseTime":1628279999601,
"marketCap":2415718459240,
"peRatio":28.65,
"week52High":149.78,
"week52Low":102.44,
"ytdChange":0.10176860278111127,
"lastTradeTime":1628279999970,
"currency":"USD",
"isUSMarketOpen":false}

Чтобы добавить новые поля в электронную таблицу, используйте формулу: =WEBSERVICE(CONCATENATE($B$2,$A5,"/quote/",J$4,"?token=",$B$1)) но измените J$4 на ячейку, содержащую имя поля из цитаты.