Historical data for outstanding shares on google sheets - google-sheets

Looking for a way to pull historical data from google finance on an annual basis. Looking to have a sheet similar to the image below
I'm trying to use the function =GOOGLEFINANCE(A1, "Shares",date( ) ) for outstanding shares but keep getting #n/a
any help would be appreciated!

unfortunately, this is not supported in GOOGLEFINANCE. see:
https://support.google.com/docs/answer/3093281?hl=en-GB

I use TIKR which has good 10+ year financial data. It has a useful feature Copy Table which can be pasted into Google Sheets.
I use a temp sheet for this, so I can extract the rows/cols I want using script.

Related

BigQuery: Resources exceeded - Google Sheets service overloaded

I have a Google Spreadsheets with data connected to a Data Studio Panel. I'm using the following data flow to get the data:
Google SpreadSheets --> BigQuery External Table --> View To the External Table --> Data Studio (Updated every 10 minutes)
But for some reason that I don't know, sometimes, when executing a select on the BigQuery External Table I get the following error:
Resources exceeded during query execution: Google Sheets service overloaded for spreadsheet id:XXX
The Google SpreadSheet has only 1500x10 Columns, which I think is pretty small. Also, there are about 6 users.
What can cause that error? Any idea about how to solve this?
Thanks
The Google documentation has information about this error:
A BigQuery query can overload Sheets, resulting in an error like Resources exceeded during query execution: Google Sheets service overloaded. Consider simplifying your spreadsheet; for example, by minimizing the use of formulas.
It seems that along with size of the Sheet, the "complexity" also matters. We cannot know how complex is your spreadsheet without seeing it but consider reducing your formula usage. This article also mentions a max result size of 10MB and other pivot table limits. You could also try to divide the data or if the error rate is manageable you could also use some kind of retry strategy to query again until you get the results.
If this is not enough then you may have reached the limits of what you can do with Sheets. Digging deeper I found this Google issue tracker post which has a quote from their engineering team:
The BigQuery Engineering Team has stated that the current suggested approach is to simplify the spreadsheet. Sheets is designed for Web/Mobile use cases and not as a DB backend. Even a couple of thousand rows is large in this context, especially if there are formulas involved.
The post is a feature request to the Google engineering team to allow for more complexity, but these requests can take time and if they don't intend Sheets to be used that way it's also possible that they won't implement it. If you cannot reduce the spreadsheet's complexity enough to stop getting the error you may want to consider querying the data from a different source.

With zapier & Google Sheets: How do I trigger a new line in the entire spreadsheet?

I'm a bit puzzled. I can't set Zapier to trigger when a new line is added to any sheet on a Google spreadsheet. They force you to choose a specific sheet. Any way around it?
Cheers!
You will need to create a different "Zap" event for each sheet. To my knowledge, there is no way around that.
However, the fact that you think Zapier should be able to have a single Zap be triggered by multiple sheets implies a couple or things:
1.) You're not yet sure what a "Zap" is.
2.) Your data in each separate sheet is very similar. And this causes me to wonder if your overall spreadsheet setup is less than ideal. Many people wind up setting up separate sheets for data collection, whereas in most cases, data collection should only be done in one sheet setup as a standard database, while other sheets show the data in different arrangements (i.e., reports).
You haven't given much detail or provided a link to the spreadsheet. But perhaps this will prompt you to dive into understanding Zapier a bit better and reconsidering the layout of your spreadsheet(s).

Google Sheets 50 million cell count work around

Is there a way to get around the 50 million cell count rule? Can this be done by using 2 separate workbooks?
We have a lead tracking system that we have built in a Google Sheets workbook and with the way our leads get updated we have already hit the 50mil record count in Google Sheets over the past 3 months. Deleting the data is not an option as we have to analyze weekly monthly quarterly and yearly stats.
I am pretty sure IMPORTRANGE would still hit the 50mil cell count limit.
Is there a way around this limit?
Update:
So a way to combat the cell limit is to totally delete all columns and rows that you do not use and are empty. Trimming the sheets down to just what you have filled in rows and columns.
Apparently if the cell has no data in it it still counts against your cell count despite it being empty.
This is not a solution per say but it is a way to make sure empty cells are not counting against your cell count.
Answer:
There is no way around this. According to the Google File Size documentation[1], the limits on a Spreadsheet are:
​Up to 5 million cells or 18,278 columns (column ZZZ) for spreadsheets that are created in or converted to Google Sheets.
Things I Tested:
Starting in 2019 it became possible to edit Office files natively in G Suite[2] so I thought I'd give it a test. According to the specifications and limits page for Microsoft Office Excel[3]:
Total number of rows and columns on a worksheet: 1,048,576 rows by 16,384 columns
Which totals 17,179,869,184 cells.
As Spreadsheets that are created on Google Drive have the Google Drive limit, I created an Excel workbook on my local machine, with the maximum number of possible cells and uploaded it to Drive to see if it could be edited natively. Unfortunately, while the file uploaded successfully, attempting to open the file resulted in the following page:
More Information, Workarounds & Similar Services:
Honestly if you need more than 5 million cells in a Spreadsheet (or even 50 million!) then you're not using the right tool for the job. With this much data, you're likely better off using a database or a cloud data warehouse such as Google BigQuery[4] or Cloud SQL[5]
That being said, if Google Sheets/Spreadsheet workbooks really is the only way forward for you, the only thing I can recommend you doing is creating multiple Sheets files, separated into a more appropriate timeframe - each Sheet containing data for just a month. This will take a bit more time to set up (though you can use Apps Script for data migration between the Sheets), but in the long run will mean you will be able to use your data more effectively, and any data processing you need to do will complete within the Apps Script Quotas[6].
References:
Google Drive Help - Files you can store in Google Drive
G Suite Updates - "Office editing makes it easier to work with Office files in Docs, Sheets and Slides."
Excel specifications and limits
Google BigQuery
Google Cloud SQL
Google Apps Script - Quotas for Google Services

Finance historical options data (with strikes etc) on google finance API

Can anyone provide how to get historical options data with strikes by Google Finance API? Mbe Yahoo API can do it?
Thx.
AFAIK, there's no free API that lets you query for historical option prices easily.
Your best shot may be to collect it daily for the stocks you're interested in:
http://www.google.com/finance/option_chain?q=AAPL&output=json
I've never seen free historical option data prices. Neither Yahoo or Google provide them. I downloaded 2012 end of day data from optiondata.net. It includes daily prices, greeks and IV. As far as I can tell it seems accurate. There are several other paid sources out there but I have not tested their data.

Is there a way to get the most searched words on the internet recently?

I'd like to get a big list (say 1,000 or more) of word phrases that people search for on the internet recently (anything from the most recent month or week or day is ok). Results from Google or any of the bigger search sites would be okay. And is there a way to do this programmatically? Python would be first choice, shell scripts works too. Thanks!
Bonus points for historical results too.
http://www.google.com/trends
google is pretty data friendly
they even provide rss feeds
http://www.google.com/trends/hottrends/atom/hourly
Yes, It's python friendly with API and easy_install to boot!
http://pypi.python.org/pypi/pyGTrends/0.81
Along with what TelsaBoil post, Google Insights looks to give historical results too
http://www.google.com/insights/search/
I think you should check this ones:
http://www.google.com/trends/hottrends
http://www.google.com/trends/hottrends/atom/hourly [RSS Hourly Feed]
http://pypi.python.org/pypi/pyGTrends/0.81 [Python Google Trends Information Retrieval]

Resources