=LET(j,WEBSERVICE("https://api.goldprice.dev/v1/spot/XAU-USD-SPOT"),s,SEARCH("""price"":""",j)+9,VALUE(MID(j,s,SEARCH("""",j,s)-s)))で、Windows版Excel 365にトロイオンス当たりのXAU/USD価格を取得できます。Mac版とWeb版ではWEBSERVICEを使えません。キーは不要です。ブックの再計算ごとに、月5,000回の匿名利用枠を消費します。無料価格は15分遅れです。定期更新には設定用ブックをダウンロードし、GoldpriceSettingsにAPIキーとシンボルを入力して、付属のPower Query MコードをWindowsで貼り付けてください。Macでは、Windowsで作成した対応接続を更新できます。
Excelの設定用ブックをダウンロードする
**goldprice.devのExcelテンプレートをダウンロード**してください。設定テーブル、コピーできるクエリ全文、利用枠の計算表、出力例が入っています。APIキーは空欄で、接続は設定されていません。
goldprice.dev/onboardingで無料キーを作成してください。無料プランにクレジットカードは不要です。
Setupにキーとシンボルを入力する
ブックを開き、Setup!B5にキーを入力します。XAU-USD-SPOT以外のシンボルを使う場合だけ、Setup!B6を変更してください。これらのセルは、クエリが読み込むGoldpriceSettingsテーブルを構成します。
キーはブック内で閲覧できます。ファイルを共有する前に削除するか、組織で承認された機密情報の管理方法を使ってください。
Windows版Excelでクエリを作成する
Windows版Excelでデータ → データの取得 → その他のデータソースから → 空のクエリを選び、詳細エディターを開いて、内容を以下のクエリに置き換えます。同じコードはブック内にもあり、Power Queryファイルとしても取得できます。クエリ名をGoldPriceに変更してください。
let Settings = Excel.CurrentWorkbook(){[Name="GoldpriceSettings"]}[Content], ApiKey = Text.Trim(Text.From(Table.SelectRows(Settings, each [Setting] = "ApiKey"){0}[Value])), Symbol = Text.Upper(Text.Trim(Text.From(Table.SelectRows(Settings, each [Setting] = "Symbol"){0}[Value]))), CheckedKey = if ApiKey = "" then error "Enter your goldprice.dev API key in Setup!B5" else ApiKey, Raw = Web.Contents( "https://api.goldprice.dev", [ RelativePath = "v1/spot/" & Symbol, Headers = [#"X-API-Key" = CheckedKey] ] ), Source = Json.Document(Raw), Result = #table( {"field", "value"}, { {"symbol", Source[symbol] & "-" & Source[quote_currency]}, {"price", Number.FromText(Source[price], "en-US")}, {"bid", if Record.HasFields(Source, "bid") and Source[bid] <> null then Number.FromText(Source[bid], "en-US") else null}, {"ask", if Record.HasFields(Source, "ask") and Source[ask] <> null then Number.FromText(Source[ask], "en-US") else null}, {"computed_at", Source[computed_at]}, {"is_stale", Source[is_stale]} } )in Result結果を読み込んで更新する
完了 → 閉じて読み込むを選びます。Excelがhttps://api.goldprice.devへの接続方法を尋ねたら、匿名を選んでください。キーはクエリがヘッダーで送信します。更新にはデータ → すべて更新を使います。
Mac版Excelは、Windowsで作成した対応するPower Query接続を更新できます。ただし、この接続の作成に必要な完全版のPower Queryエディターはありません。ダウンロードしたファイルは設定用テンプレートで、接続済みのブックではありません。
通貨や金属を切り替える
Setup!B6を変更して更新します。シンボルの形式はMETAL-CURRENCY-SPOTです。クエリが自動で大文字に変換し、前後の空白を削除します。
XAU-USD-SPOTXAU-INR-SPOTXAU-EUR-SPOTXAG-USD-SPOT出力例
{ "symbol": "XAU", "quote_currency": "USD", "unit": "troy_ounce", "contract_type": "spot", "price": "4012.75", "is_stale": false, "computed_at": "2026-08-18T08:00:00Z"}テーブルにはsymbol、price、computed_at、is_staleが表示されます。bid/askは有料プラン限定で、nullの場合があります。数値セルは通貨表示に設定してください。
よくあるエラー
| コード | 症状 | 対処方法 |
|---|---|---|
| 401 | Power QueryがDataSource.Error: 401 Unauthorizedを返します | Setup!B5のキーが空欄か無効です。ダッシュボードから新しいキーを貼り付けてください。Excelが誤った接続資格情報を保存している場合は、api.goldprice.devのアクセス許可をクリアし、再度「匿名」を選びます。 |
| 429 | DataSource.Error: 429 Too Many Requestsが時々発生します | Power Queryは429応答を自動で再試行し、APIがRetry-Afterを返した場合はその指定に従います。それでも失敗する場合は、更新頻度を下げてください。Setupシートで月間呼び出し数を見積もれます。すべてのクエリとブックを合算し、プランの枠を超える場合は料金を確認してください。 |
| N/A | Mac版Excelに完全版のPower Queryエディターがありません | APIエラーではなく、プラットフォームの制限です。このカスタムM接続をWindows版Excelで作成し、接続済みのブックを対応するMac版で開いて更新してください。 |
活用方法
- 価格アラートの列を作る:
=IF([@price] > 4800, "ALERT", "OK") - 金と銀を別々のクエリで取得し、同じダッシュボードにまとめます
/v1/barsから直近の日足を取得し、グラフやバックテストに使います- 更新した価格を評価モデルに連携し、手動で値を貼り付ける手間を省きます