web-dev-qa-db-ja.com

Excel 2011Macのセルに株価値を関連付ける

私はExcelで模擬株式ポートフォリオに取り組んでおり、データを自動的に更新する方法を探していました。株価と株価収益率。

MSN MoneyへのWebクエリを使用してみましたが、複数のセルにまたがる株価全体が表示されるため、個々のセルでのみデータを更新する必要があります。私が考えることができる唯一のWebクエリソリューションは、誰かが株価の各値が異なるHTMLファイルに保存されているWebサイトをホストしている場合です。次に、その値を必要とするセルごとに、そのファイルにWebQueryを実行できます。ただし、これを提供しているWebサイトはありません。

つまり、本質的に、Excel 2011 Macには、株価から個々の値を取得して単一のセルに割り当てることができるツールはありますか?

3
Vedant Chandra

Mac上のOffice2011の場合、次の内容のファイル(GoogleQuoteなど)を/ Applications/Microsoft Office 2011/Office/Queriesディレクトリに作成します。

WEB
1
http://download.finance.yahoo.com/d/quotes.csv?s=goog&f=l1

次に、上記の手順と同様です。

  1. 見積もり値を挿入するセルに移動します
  2. メニューバー「データ」>「外部データの取得」>「保存されたクエリの実行」
  3. 上で作成したファイルを選択します(例:「GoogleQuote」)

ポップアップ表示されるウィンドウの「プロパティ」部分で、追加のオプション(スプレッドシートを開いた直後の更新など)を確認できます。次に、「OK」を選択します。

ステータスとビオラを示すメッセージポップアップが表示され、見積もりが表示されます。

3
DJeppson

Macを使用しているため、これを簡単に実行できるコマンドラインツールがいくつかあります。

curlは、コマンドラインからWebページを取得できるコマンドラインツールです。 Macターミナルで「curl http://www.yahoo.com "」と入力すると、YahooのホームページのHTMLが返されます。

Yahooは、HTTPを介して単一の株価を取得することを可能にします。以下のcurlの例を使用して、YahooFinanceから単一の株価を取得できます。この場合、シンボルが「goog」であるGoogleの株価を取得しています。

curl -s "http://download.finance.yahoo.com/d/quotes.csv?s=goog&f=l1"

Yahooを使用すると、一度に複数の見積もりを簡単に取得できます。以下の例では、シンボルが「goog」、「yhoo」、「gis」であるGoogle、Yahoo、GeneralMillsの見積もりを取得しています。それらをコンマで区切るだけです。

curl -s "http://download.finance.yahoo.com/d/quotes.csv?s=goog,yhoo,gis&f=l1"

複数の株価を取得できるようになったので、それらをExcelに取り込む必要があります。私が見つけた最も簡単な方法は、curlスクリプトの結果をテキストファイルに保存してから、そのファイルをExcelにインポートすることです。

Curlに結果をファイルに保存させるには、以下の例のように「-o」オプションを使用します。

curl -o quotes.txt -s "http://download.finance.yahoo.com/d/quotes.csv?s=goog,yhoo,gis&f=l1"

これにより、ローカルディレクトリに「quotes.txt」というファイルが作成され、Excelにインポートできます。

注:リンクをクリックするだけで、Safariがquotes.csvというファイルを価格とともにダウンロードします。

お役に立てれば!

Excelにインポートする方法を追加します。

株価のファイルを入手したら、Excelに簡単にインポートできます。

メニューバーで、[データ]-> [外部データの取得]-> [テキストファイルのインポート]を選択します

enter image description here

株価が含まれているテキストファイルを選択します

enter image description here

次の画面にはオプションがありますが、[完了]をクリックするだけです

enter image description here

データを配置するセルを選択する必要があり、それが表示されます!

enter image description here

2

Yahooとの下位互換性が必要なく、単純な価格見積もりが必要な場合、このVBAスニペットは、ティッカーシンボルの価格を返すExcel関数を追加します。

これは洗練されたコードではありませんが、強力なIEXAPIの使用方法の簡単な例として役立つはずです。 (他のストックプロパティもご利用いただけます。)

VBAエディターを使用して、これをモジュールに入れます。

Public Function tickerPrice(ticker As String)

Dim htmlCmd As String
Dim curlCmd As String
Dim shellCmd As String
Dim sResult As String

htmlCmd = "https://api.iextrading.com/1.0/stock/" & ticker & "/quote/delayedPrice"
curlCmd = "curl \""" & htmlCmd & "\"""
shellCmd = "do Shell script "" " & curlCmd & " "" "

sResult = MacScript(shellCmd)

tickerPrice = Val(sResult)

End Function

ブックを開くときは必ずマクロを有効にしてください。

これは、2017年後半にHighSierraでMacExcel 2011を使用してテストされました。

0
jbbenni