I am having zero luck creating a data viz with highcharts using google spreadsheets. I've spent most of the day goggling for help and reading through google API / highcharts documentation / stack overflow / etc, and I'm still at the same spot I started this morning.
It seems to be an issue relating to new vs. old google spreadsheets. For example, I found this example to work, but as you'll see, the google spreadsheet has the older URL construction that includes "key=". When I update with a key from a new spreadsheet (one that does not have the URL construction with "key="), the chart isn't created.
Any ideas? My sheets are all public and published to the web, so I know that's not it.
Here's the spreadsheet I've been testing with: https://docs.google.com/spreadsheets/d/18jFq7JiZI4wfj0SOMZh3fii1lquGF7NWJnmoFsXNJbM/edit?usp=sharing, using the key 18jFq7JiZI4wfj0SOMZh3fii1lquGF7NWJnmoFsXNJbM
Any ideas much appreciated.
If you point Highcharts at your key, you get an error 14. Looking at your sheet, it chokes on the second row "Total" since those numbers are formatted as strings. Fixing that in the sheet, and tweaking some of the parameters you can pass to Highcharts and your chart will start to take shape:
data: {
googleSpreadsheetKey: '18jFq7JiZI4wfj0SOMZh3fii1lquGF7NWJnmoFsXNJbM',
startColumn: 0,
endColumn: 5,
startRow: 0
},
Hopefully, that'll get you going, your chart still needs a bit more work (too many xAxis labels, the total column overwhelms the rest of the data, etc...)
Related
I have a spreadsheet that is always updating with 50+ rows. I am trying to retrieve users who are Program Managers (PGM) by parsing text but I am having a hard time since the data is not consistent since it's filled out by 20+ users.
I googled "google sheet parse text" but it's giving me functions such as =SEARCH, =LENS, =LEFT which I cannot use since my data is not consistent. Are there any other options or am I out of luck and must parse my info manually? Thanks in advance.
Google Sheet Link Example
in C2 use:
=ARRAYFORMULA(IFERROR(REGEXEXTRACT(B2:B,"PGM:.*")))
You may try:
=byrow(B2:B,lambda(z,if(z="",,ifna(regexextract(z,"(PGM:.*)(?:\n|$)")))))
row 6 outcome is varying a bit
The following function in Google Sheets worked until last Friday:
=index(IMPORTHTML("https://finance.yahoo.com/quote/"&B1&"/key-statistics?p="&B1&"","table",
2),5,2)
This function would go to the statistics section in Yahoo Finance and extract the Market Cap from a stock. It stopped working today and I'm not sure why.
I tried using the following command in the Chrome console to get the table number and played with the table indices for the IMPORTHTML function but no luck:
var i = 1; [].forEach.call(document.getElementsByTagName("table"),
function(x) { console.log(i++, x); });
Did Yahoo do something to make this no longer work? OR are my indices just wrong now?
I tried using every IMPORT formula of Google Sheets and unfortunately, it is returning the same error every single time.
It seems that Yahoo changed some things in their website and it resulted to the import formula not to work anymore.
I suggest finding another website/data source that will give you the same information that you need. Or if you want to stay with Yahoo Finance, you can explore and try to use their API if you want (link-here).
EDIT: Upon further checking, it seems that this issue is only happening on some of the tickers and some webpage in Yahoo Finance. Another option would be waiting for Yahoo to fix the issue.
Is there any way to do this other than using an API?
It seems like you can't specify the range of a chart with a formula.
I've tried name ranges too - does anyone know a work around?
unfortunately this one is not possible. google sheets (up to this date) does not support formulas in input field of charts. the only thing you can do is to query/filter your dataset on some separate hidden sheet and then construct chart from there.
First post on Stack Overflow! I have minimal IT/Dev background, and I was just trying to learn how to data scrape using the Import XML function in Google Sheets to get a little experience with the function and I've ran into a speed bump, hoping you can help!
I've been successful in my attempts to pull the data I would like so far, but there is a tiny amount of information I would also like to extract, but can't really figure it out thus far. I can see the information in Google DevTools. (Screenshot attached)
The data is stored in the Class definition line and it defines the time Last Seen, accessible one of two ways.
URL : https://us.tamrieltradecentre.com/pc/Trade/SearchResult?ItemID=11807&SortBy=Price&Order=asc
Desired function from ImportXML would be to pull the text, or the URL Extension - With the information of one of those two pieces of information
Thanks for your help!
*EDIT Added Google Sheets Screenshot
Devtool Screenshot
Google Sheets Screenshot
Red Circles for Values I Would Like To Import
You want to retrieve the values of "Last seen" like "1 Hour ago" from the URL using IMPORTXML.
When I checked the site of the URL, it was found that at the URL you want to use, the values like "1 Hour ago" are put using Javascript. In this case, unfortunately, that cannot be retrieved using IMPORTXML. Because IMPORTXML cannot evaluate Javascript.
I'm trying to create an Activity tracker for a game. However, I'm trying to use the LOOKUP function to track activity throughout 3 different sheets. However, the LOOKUP function does not seem to be outputting the correct value. LINK: https://docs.google.com/spreadsheets/d/1tdq6oeEFjgxJg6FXvSH2ZmkgRlHaFiD5aycjvezfNvc/edit?usp=sharing
If you look at Activity sheet, E2:E52, you should understand that it's outputting the wrong value(At least based on what I'm reading on the google docs).
I've tried converting this over to one sheet to see if that was the problem, however, it didn't work there either, I tried being more inclusive of the exact letter and number combination and that didn't help either.
I expect it to output the Attacks column for the username based on the Activity1 sheet.
Any help would be greatly appreciated.
PS: I tagged excel as it does the same exact thing on excel, however it gives slightly different values. I'm very confused.
use VLOOKUP instead:
=ARRAYFORMULA(IFERROR(VLOOKUP(D2:D,
{Activity1!C:D; Activity2!C:D; Activity3!C:D}, 2, 0)))