Привязать значение котировки акций к ячейке в Excel 2011 Mac

17284
Vedant Chandra

Я работал над фиктивным портфелем акций в Excel, и я искал способы автоматического обновления данных, например. цена акций и соотношение P / E.

Я пытался использовать веб-запрос к MSN Money, но он просто отображает всю котировку акций по нескольким ячейкам, я хочу, чтобы данные обновлялись только в отдельных ячейках. Единственное решение для веб-запросов, о котором я могу подумать, это если бы кто-то размещал веб-сайт, где каждое значение в биржевой котировке было сохранено в другом HTML-файле. Затем я мог бы отправить WebQuery в этот файл для каждой ячейки, для которой требуется это значение. Тем не менее, ни один сайт не предлагает это.

Итак, по сути, есть ли какой-нибудь инструмент в Excel 2011 Mac, который позволил бы мне извлекать отдельные значения из котировки акций и назначать их одной ячейке?

3
Смотрите [эту ссылку] (http://www.dummies.com/how-to/content/using-a-web-query-to-load-tables-in-excel-2011-for.html#comments), где объясняет, как вы можете создать «веб-запрос» в Excel для Mac. Я рекомендую браузер веб-запросов под Windows, который позволяет вам выбрать нужную таблицу (вместо всей веб-страницы). После того как ваш запрос определен на листе Excel в Windows, вы можете продолжить работу в Excel для Mac. К моему личному разочарованию, снова и снова я нахожу, что Excel для Mac - только половина Excel для Windows ... :-( agtoever 9 лет назад 0

3 ответа на вопрос

3
DJeppson

For Office 2011 on Mac, create a file (e.g., GoogleQuote) in your /Applications/Microsoft Office 2011/Office/Queries directory with the following contents:

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

Then, similar to the instructions above:

  1. Go to the cell you want the quote value to be inserted into
  2. Menu bar "Data" > "Get External Data" > "Run Saved Query"
  3. Select the file you created above (e.g., "GoogleQuote")

You can check the "Properties" portion of the window that pops up for additional options (like refreshing as soon as the spreadsheet is opened). Then just select "OK".

You should see a message pop up that gives you a status and then viola, the quote should appear.

2
ScottAndrewRogers

Поскольку вы работаете на Mac, есть некоторые инструменты командной строки, которые могут сделать это простым усилием.

curlэто инструмент командной строки, который позволяет вам получать веб-страницы из командной строки. В терминале Mac введите «curl http://www.yahoo.com », и он вернет HTML-код для домашней страницы Yahoo.

Yahoo позволяет получить единую котировку акций через HTTP. Используя приведенный ниже пример скручивания, мы можем получить единую цену акций из Yahoo Finance. В этом случае мы получаем цену акций для Google, чей символ «goog».

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

Yahoo позволяет легко получить несколько цитат одновременно. В приведенном ниже примере мы получаем кавычки для Google, Yahoo и General Mills с символами «goog», «yhoo» и «gis». Мы просто разделяем их запятой.

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

Спасибо за ответ, он объясняет все, кроме последней части, как мне импортировать эти значения в Excel? И есть ли способ автоматизировать процесс? Vedant Chandra 10 лет назад 0
Я добавил шаги для импорта ... Я не знаю простого способа автоматизации в Mac. Я посмотрел на Automator и запустил, но у меня не так много опыта. Я сделал простую запись в crontab для запуска каждую минуту: `1-59 * * * * curl -o quotes.txt -s" http://download.finance.yahoo.com/d/quotes.csv?s=stk, GOOG, YHOO, & й ГИС = l1" 1 ScottAndrewRogers 10 лет назад 0
0
jbbenni

Если вам не нужна обратная совместимость с Yahoo, и вы хотите просто указать цену, этот фрагмент VBA добавляет функцию Excel, которая возвращает цену символа тикера.

Это не отточенный код, но должен служить простым примером того, как использовать мощный IEX API. (Другие складские свойства также доступны.)

Используйте редактор 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 

Обязательно включите макросы при открытии книги.

Это было протестировано в Mac Excel 2011 в High Sierra в конце 2017 года.