Asked this same question before and got the answer and it works fine too. This is how I want the answer in the formula I give.
Please read : Match lookup value with importHTML and combine tables in Soogle Sheet
#rockinfreakshow Thank You so much for this answer. Sir please answer me according to my formula.
---------------------------------------------------------------------------------------------------------------------------------
I want the answer in the same way, but I match the lookup value from another url link with them in the same way as the answer comes from the formula I show and I want the answer.
I have this formula. And I get the answer well. Which you will get with the result in the link of google sheet below.
1st URL : https://www.screener.in/screens/881782/rk-all-stocks/?limit=25&page=1
=arrayformula(
lambda(
baseUrl, pageStart, pageEnd,
query(
reduce(
importhtml(baseUrl & pageStart, "table"),
sequence(pageEnd - pageStart, 1, pageStart + 1),
lambda(
result, pageNumber,
{
result;
iferror(
importhtml(baseUrl & pageNumber, "table"),
iferror(sequence(1, 11) / 0)
)
}
)
),
"where Col1 is not null", 1
)
)(
"https://www.screener.in/screens/881782/rk-all-stocks/?limit=25&page=", 1, 57
)
)
Result Screenshot
2. And there is another table in which I want to match the lookup value of the first table and all the values of that table. Which I have tried. Within this google sheet and you can also try this google sheet.
2nd URL with match 1st URL Record : https://www.screener.in/screens/881791/rk-holding/?page=1
=BYROW(B2:B,LAMBDA(bx,IF(bx="",,IFNA(QUERY(IMPORTHTML("https://www.screener.in/screens/881791/rk-holding/?page=1", "table",1),"Select Col12, Col13 Where Col2='"&bx&"'",0)))))
If I use this formula I get only 25 data.
Result Screenshot
If I use this formula I get only 1 page of data. As this url link has more than 165 pages.
i expected result
I only get as much data as in the first formula. Next to them i.e next to ROCE you need column number 12 and 13 from another URL link. Lookup values match and look for the data next to them. Lookup value column number will be 2. Which I have tried in this google sheet and you can also try.
try this in google sheet : OPEN GOOGLE SHEET
Thanks
Updated the solution in your sheet here
Related
I got this "table" (page raids) and want to do function formating for highlight duplicates (yellow).
Google Sheet
In this case there is match in 2 strings (dark blue):
Name1
Gunslinger
I already try functions VLOOKUP, Match, Filter, countifs and Quary (dont know how it works...) with Index function, but nothing seems work as I want ...
VLOOKUP and Match only gives first value.
Filter doesnt work on this strucker or I dont know how to use it in this case (I know how it works in normal table)
Can someone tell me what function conbination to use that can be put in Function formating ?
Formating for each row:
Example: =IF(B3>0;IF(B4<1490;TRUE;FALSE);FALSE)
ECT.
After some searching and testing, I came up with this:
=ArrayFormula(SUM(IFERROR(FIND(B2&B3;MID(CONCATENATE((TRANSPOSE($B$2:$I$33)));SEQUENCE(LEN(CONCATENATE((TRANSPOSE($B$2:$I$33))));1;1;1);len(B2&B3)))=1)*1))>1
Still need to make the functions more tidy (picture 2 and 3).
See if this is what you are looking for?
Conditional formatting with Custom formula in Range: A2:H:
=LAMBDA(NAME,OR(A1=NAME,A2=NAME,A3=NAME))("Gunslinger")
or do you means you want to highlight only duplicates?
If that is the case, you may try this formula:
=LAMBDA(DATARANGE,
LAMBDA(FLAT,
{{"Team","Duplicate"};{UNIQUE(FLAT),BYROW(UNIQUE(FLAT),LAMBDA(NAME,COUNTIF(FLAT,NAME)>1))}}
)(
QUERY(FLATTEN(
BYCOL(DATARANGE,LAMBDA(C,
BYROW(C,LAMBDA(R,
IF((ROW(R)+1)/4=INT((ROW(R)+1)/4),R,"")
))
))
),"SELECT Col1 WHERE Col1 IS NOT NULL",0)
)
)(A2:H)
This formula returns an array of unique Names with checking if there are Duplicates in the given datarange.
Combine this with the 1st formula should be able to highlight repeated data sets from your table.
Solution for 2 criteria matching:
The formula inside the image form the table of unique match results,
use that result with OR(), XLOOKUP(), OFFSET(), INDEX() as below for the final formula to put into the custom formula in conditional formatting.
=LAMBDA(RESULT,
LAMBDA(NAME,DUP,KEY,
LAMBDA(KEY_M2,KEY_M1,KEY_P1,
OR(
XLOOKUP(KEY_M2&"&&"&KEY_M1,NAME,DUP,FALSE),
XLOOKUP(KEY_M1&"&&"&KEY,NAME,DUP,FALSE),
XLOOKUP(KEY&"&&"&KEY_P1,NAME,DUP,FALSE)
)
)(IFERROR(OFFSET(KEY,-2,0),""),IFERROR(OFFSET(KEY,-1,0),""),IFERROR(OFFSET(KEY,1,0),""))
)(INDEX(RESULT,,1),INDEX(RESULT,,2),A2)
)(
LAMBDA(DATARANGE,
LAMBDA(FLATCLASS,
{{"Name","Duplicate"};{UNIQUE(FLATCLASS),BYROW(UNIQUE(FLATCLASS),LAMBDA(NAME,COUNTIF(FLATCLASS,NAME)>1))}}
)(
QUERY(FLATTEN(
BYCOL(DATARANGE,LAMBDA(C,
BYROW(C,LAMBDA(R,
IF((ROW(R)+1)/4=INT((ROW(R)+1)/4),IF(R="","",INDEX(C,ROW(R)-2)&"&&"&R),"")
))
))
),"SELECT Col1 WHERE Col1 IS NOT NULL",0)
)
)($A$2:$H)
)
hope you have a good day/evening.
Due to I always seems to use importrange function to import multiple sheets. I want to have a quicker way to replace the date (highlighted in red as per the screenshot) with the date referenced in Col A. This is my Google Sheet under the tab name "TextJoin" Google Sheets Link
try:
=INDEX({""; "={"&TEXTJOIN("; ", 1,
"IMPORTRANGE(""13DWtP4L7swqBgK6BGLeA-o_FfyD-D8-Ru30cOPf0I10"", """&
FILTER(TO_TEXT(A2:A)&"!A2:C"")", A2:A<>""))&"}"})
but you may need to wrap it into query and remove empty rows perhaps like:
=INDEX({""; "=QUERY({"&TEXTJOIN("; ", 1,
"IMPORTRANGE(""13DWtP4L7swqBgK6BGLeA-o_FfyD-D8-Ru30cOPf0I10"", """&
FILTER(TO_TEXT(A2:A)&"!A2:C"")", A2:A<>""))&"}, ""where Col1 is not null"", )"})
Try
=importrange("_____","'" & text(A2,"M/d/yy") &"'!A2:C")
I have a sheet that looks like this. You'll notice the columns contain different social media links.
I would like for the sheet to look like this - with columns containing similar social media links.
Is there a way to automate this categorization? Here's the sheet if helpful, thanks.
If you can replace the cell values of Link 1 and Link 2 with the website name that you want in that column then you can use FILTER to get values that match your criteria.
If your data looks like this:
Then you can use the following formula in F3 provided you've labelled the headings appropriately (facebook, instagram etc)
=ArrayFormula(FILTER(TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, $B$3:$C), " ")), SEARCH(F$2, TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, $B$3:$C), " "))), SEARCH($E3, TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, $B$3:$C), " ")))))
Don't know if this helps, but here's an option with a formula in one cell - E2. You can put this on another sheet if preferred:
=arrayformula(
{A2:C2;
query(
{
vlookup({sequence(counta(A3:A),1,1,2),sequence(counta(A3:A),1,1,2),sequence(counta(A3:A),2)},{sequence(counta(A3:A)*2),query({row(A3:A),A3:A,B3:B;row(A3:A),A3:A,C3:C},"where Col2 is not null order by Col2,Col3",0)},{2,3,4,4},0)
},"select Col2,Col3,Col4 order by Col1",0)
})
If you have more Link columns than just two, I can provide different code.
I need help on replicating below formula into Google sheet. Since google sheet does not support Aggregate, I am having difficulties replicating it into google sheet.
I need a formula which will list out all partial match item based on specific text from data.
Help is much appreciated.
Below is the formula I am using in excel:
=IFERROR(IF(F5>$D$9,"",INDEX($B$5:$B$16,AGGREGATE(15,6,(ROW($B$5:$B$16)-ROW($B$5)+1)/ISNUMBER(SEARCH($D$5,$B$5:$B$16)),F5)))," ")
and below is sample data and result outcome:
use in F2:
=QUERY(A2:A; "select A where A contains '"&C2&"' limit "&C6; 0)
or case insensitive:
=QUERY(A2:A; "select A where lower(A) contains '"&LOWER(C2)&"' limit "&C6; 0)
I am trying to do some data reduction in my Google Sheets by using the following IMPORTRANGE formula:
=query(importrange("https://docs.google.com/a/ap.averydennison.com/spreadsheets/d/1xz1lXY-w5Ii_aWqVAhHgRCmeoes9ltSUtibE4kzhMHA/edit#gid=2051232966","SF_Flex_Rel!a:l"),
"select * where Col1 = '"&text(B1,"###")&"'",1)
The 'source' sheet has a whole lot of sales data records. What I am trying to do in the new sheet via this formula is only bring in the sales records from the source sheet that match the customer number specified in cell B1.
It seems to work OK if I limit the IMPORTRANGE to only query about 10,000 rows. Once I go over around 20,000 rows the screen will briefly flash up the records, then a small progress bar shows in the top right corner of the sheet and the records disappear. The cell with the formula just shows #ERROR! with no other comments to tell me why.
Is there something wrong with my formula syntax?
Is there a better way to achieve this data reduction?
Is there some undocumented data limitation on IMPORTRANGE function (I am using 'new' Google Sheets)?
try like my example :
=QUERY( // data
IMPORTRANGE(
"Spreadsheet Key", // spreadsheet key
"DATA!A:C" // datarange
),
"SELECT Col1 WHERE Col2=" & "'" & B2 & "'" // query
)
I had the same problem. This answer helped me find a workaround : https://productforums.google.com/forum/#!topic/docs/RxVUFGWQ2Y4
In my example :
1) In the spreadsheet where the data is I have added a few empty columns (E to H) in order to display 4 columns of data in 5 maximum rows.
=Query(Sheet1!A:D,"select * Where A contains 'KEYWORD' limit 5",1)
2) Then in the other spreadsheet:
=ImportRange("https://docs.google.com/spreadsheets/d/ss_key_here/", "'Sheet1'!E1:H5")