You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel 2016中Power Query引用单元格A1实现股票代码联动更新股价可行吗?

实现Excel 2016中通过单元格引用自动更新Power Query股票数据

当然可行!我来一步步教你怎么实现这个需求,不用再每次钻进Power Query高级编辑器里手动改股票代码了:

  • 第一步:设置股票代码输入单元格
    在你的工作表(比如「Sheet1」)的A1单元格里输入目标股票代码(比如GOOG),这就是我们后续要引用的参数源。

  • 第二步:修改Power Query的M代码
    打开Power Query编辑器,进入「高级编辑器」,把原来固定写死的股票代码替换成从A1读取的动态值:

    1. 先添加一个获取单元格值的步骤,放在现有代码的最开头:
      StockCode = Excel.CurrentWorkbook(){[Name="Sheet1"]}[Content]{0}[Column1]
      
      这里的Sheet1要替换成你实际的工作表名称,{0}代表第一行,[Column1]代表第一列(也就是A1单元格)。
    2. 找到你原来代码中包含股票代码的部分(比如URL里的AMZN),把它替换成StockCode变量,并用&连接字符串。举个例子:
      原来的URL可能是:
      Source = Web.BrowserContents("https://finance.yahoo.com/quote/AMZN/history?p=AMZN")
      
      改成:
      Source = Web.BrowserContents("https://finance.yahoo.com/quote/" & StockCode & "/history?p=" & StockCode)
      
    3. 保存并应用你的Power Query修改。
  • 第三步:测试自动更新
    现在你只需要修改A1单元格里的股票代码(比如换成MSFT),然后点击Excel菜单栏里的「数据」→「全部刷新」,Power Query就会自动拉取新代码对应的股价数据了。

小提示:如果担心单元格引用出错,可以给A1单元格定义一个友好的名称(比如「StockCode」),然后把第一步里的代码改成:

StockCode = Excel.CurrentWorkbook(){[Name="StockCode"]}[Content]{0}[Column1]

这样不管单元格位置怎么变,只要名称不变,引用就不会失效~

内容的提问来源于stack exchange,提问作者Sharmil

火山引擎 最新活动