【问题标题】:Excel data extraction issueExcel数据提取问题
【发布时间】:2021-10-12 14:04:39
【问题描述】:

为我的投资创建跟踪表。我安装了一个 API,可以提供实时原始市场数据,但不提供我的具体投资。我想引入一个列,显示资产在 24 小时内的表现(此数据在 sheet2 中)。表 2 中的数据在按市值排序时不断变化,因此根据资产在给定日期的表现,数据会不断变化。我的投资清单在表格 1 中,我想要执行一个公式,该公式能够从表格 2 中获取正确的数据并将其实施到表格 1 中的正确列中。

一个例子:

我想从股票“AAPL”的表 2(原始数据所在的位置)中获取 24 小时 % 的表现,并将其插入到 Sheet1 旁边,在那里我通过股票代码跟踪我的投资:AAPL

对于下面的公式:

C6 是我存储 SYMBOL(即“AAPL”)的位置。

latest[Column1.symbol] 是引用 sheet2 中与符号匹配的列。

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 中获取数据。我现在完成的公式是:=IF(ISTEXT(C6),VLOOKUP("AAPL",latest[#All],latest[Column1.symbol],FALSE)) 但您可能会注意到它没有任何说明获取正确的数据。该公式返回 N/A 错误。作为参考,我需要获取的数据来自工作表 2 的“F”列。”

任何帮助将不胜感激。

【问题讨论】:

标签: excel if-statement excel-formula vlookup


【解决方案1】:

我建议在IEX Excel How To查看 IEX 云 API

注册并获得免费密钥后,您可以下载实时数据。例如,要检索 APPLE 数据,您可以将WEBSERVICE("https://cloud.iexapis.com/stable/stock/aapl/quote/latestPrice?token=YOUR_TOKEN_HERE") 与您的令牌一起使用。

如果您能附上电子表格的副本,我或许可以提供进一步帮助。 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 更改为包含引号中字段名称的单元格。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多