You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets脚本如何引用列数据作为CoinMarketCap币种查询输入

你只需要将原代码中硬编码币种列表的逻辑,替换为读取工作表B2:B10区域内容的逻辑即可,同时增加空值过滤避免发起无效请求,修改后的完整代码如下:

function coin_price() {
  const myGoogleSheetName =
    // 请将"Sheet1"修改为你要运行脚本的工作表名称
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1')

  // 调用CoinMarketCap接口的配置信息
  const coinMarketCapAPICall = {
    method: 'GET',
    uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
    qs: {
      start: '1',
      limit: '5000',
      convert: 'USD',
    },
    headers: { 'X-CMC_PRO_API_KEY': 'YOUR_API_KEY_GOES_HERE' },
    json: true,
    gzip: true,
  }

  // 读取B2:B10区域的币种符号,自动过滤空行
  const myCoinSymbols = myGoogleSheetName.getRange('B2:B10').getValues()
    .flat() // 将读取到的二维数组转为一维数组
    .filter(symbol => symbol.toString().trim() !== '') // 剔除空值和纯空格内容

  // 遍历查询币种价格
  for (let i = 0; i < myCoinSymbols.length; i++) {
    const coinSymbol = myCoinSymbols[i]
    const coinMarketCapUrl = `https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=${coinSymbol}`
    const result = UrlFetchApp.fetch(coinMarketCapUrl, coinMarketCapAPICall)
    const txt = result.getContentText()
    const d = JSON.parse(txt)
    const row = i + 2
    // 已移除原写入币种符号到B列的逻辑,避免覆盖你手动填写的内容
    // 将对应币种的美元现价写入工作表C列对应位置
    myGoogleSheetName
      .getRange(row, 3)
      .setValue(d.data[coinSymbol].quote.USD.price)
  }
}

注意事项

  • 请将代码中的YOUR_API_KEY_GOES_HERE替换为你自己的CoinMarketCap API密钥
  • 如果后续需要调整读取币种的单元格范围,直接修改getRange('B2:B10')中的区域参数即可
  • 无需填满B2到B10的所有单元格,脚本会自动跳过空行

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:27:02