Google sheet transpose yahoo finance data and ignore multiple rows - google-sheets

gurus,
I am trying to get yahoo finance quote page info into google sheet. What bothers me is the earning date, which could be a range:
The following code works, but the earning date will return into 4 lines with the React notes
=transpose(IMPORTXML(CONCATENATE("https://finance.yahoo.com/quote/",B7,"?p=",B7),"//tr//td[last()]"))
Is there anyway I can consolidate the data from O8-O12 into O7? Or just simply ignore the O8-O12 data in this example. Thank you!

Use a query formula as well and limit results to 1:
=QUERY(transpose(IMPORTXML(CONCATENATE("https://finance.yahoo.com/quote/",B7,"?p=",B7),"//tr//td[last()]")),"LIMIT 1")

Related

Google Sheets: Parsing users who are Program Managers

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

Automating Aggregating Data in Google Sheets

I have 100+ rows that are updated daily and as of now I have to update my last column manually. In my last column "Key Results Aggerated" I have to manually copy and paste Key Results into single cells per employee. I spent hours trying to figure out a solution but I am unable to. I have tried using import range function and concatenate function but I am having a hard time automating it since users can always add/remove a new row for "Key Result" at any time of the day. Thanks in advance. 🙏
Pic: Raw Data
Pic: Results I am trying to achieve.
Google Spreadsheet Example
You may insert this in E1 and protect that row:
={"KEYS";MAP(A2:A,D2:D,LAMBDA(aval,dval,IF(aval="","", TEXTJOIN(CHAR(10),1,dval:INDEX(D:D,ROW(dval)+IFNA(XMATCH("*",INDEX(A:A,ROW(aval)+1):INDEX(A:A, ROWS(D:D))),ROWS(A:A))-1)))))}
Erase previously all the prior formulas in E. Let me know

Google Sheets - Finding the most recent date based on a value

I have a table showing the name of everyone who has received feedback and when they received the feedback, however, some people received feedback on multiple dates so I need a formula to find the most recent date and copy it across to a seperate sheet.
I have attached the google sheets below. For example, the second tab shows the name of each person in the table but I need to know the most recent date they received feedback based on the data from sheet 1.
https://docs.google.com/spreadsheets/d/1n3c6F97-10mzZ8g3VYroRgl5ullXz_dDJrpdV5SQRLg/edit#gid=1526292532
Any help is most appreciated
Use the following formula
=maxifs(B:B,A:A,F2)
where f2 contains the name of the person you need the information. I've also edited your sheet. Note that i had to rewrite some of your dates, as they were being recognized by sheets as text, not dates.
Use this to create a list names
=UNIQUE(A1:A29)
Then as Oren just posted, this will give you the highest date, but you may need to fix your data formatting for it work.
=maxifs(B:B, A:A, D2)

Google Sheets Formula cannot get the date from another cell

I want to get the price of bitcoin on exact date.
The dates are written in Column A and they are updated regularly from a Google form
This is an example of the working formula, but the date in it is written manually (2017-01-31):
=ARRAYFORMULA(IF(ISBLANK($B$2:$B),"",CRYPTOFINANCE("BTC/USD", "price",2017-01-31)))
But when I try to get the dates from Column A, mentioned with $C$2:$C - Google sheets do not understand it
=ARRAYFORMULA(IF(ISBLANK($B$2:$B),"",CRYPTOFINANCE("BTC/USD", "price",$C$2:$C)))
Click here to check The spreadsheet
Thank you in advance!
"Doctor, it hurts when I do this."
In the example spreadsheet you are converting the dates into text for the column C, using the explicit TEXT() function. Then you are wondering why they no longer work as dates?
Stop converting to text.

Get BTC prices on Google Sheets from Google Finance

I'm trying to get data from Google Finance in Google Sheets with this formula:
=GoogleFinance("CURRENCY:BTC")
But I'm getting this error:
GOOGLEFINANCE, the query for the symbol: 'CURRENCY:BTC' returned no data.
Although on Google Finance itself, I can get BTC prices:
https://www.google.com/finance?q=CURRENCY:BTC
with the same query strings.
How can I can fix this?
You need to have a from and to currency like this:
=GoogleFinance("CURRENCY:USDBTC")
For historic close price use:
=GoogleFinance("CURRENCY:USDBTC","close","07/07/2017")
If you want only the price returned use:
=iferror(index(GoogleFinance("CURRENCY:USDBTC","close","07/07/2017"),2,2))
As of 2020-08-15 the following formula works well (without any add-ons):
=GOOGLEFINANCE("BTCUSD")
Seems like it works only for BTC and ETH though.
2022-05-04, the following works on Google Sheets:
=googlefinance("CURRENCY:USDBTC") as well as most combinations of currency and BTC (and ETH, LTC, BNB, XRP, XLM, and ADA), for example GBPBTC and JPYBTC.
=googlefinance("CURRENCY:BTCUSD") works too, in the same combinations of coin and currency.
Although finance.google.com has DOGE and LINK pricing, they don't seem to work the same way in the Sheet's googlefinance function.
Another way to work with crypto currency is to use the add-on where you can extract data from other sources.
=CRYPTOFINANCE("BTCUSD")
Link below:
https://jbuty.com/how-to-get-crypto-currencies-rates-and-more-in-google-sheet-1a57e571bc14

Resources