Reverse Partial Match in Google Sheets - google-sheets

I have tried to do the following reverse partial match lookup however this doesn't work in google sheets. Is there another method that will work there?
https://www.excelcampus.com/tips/reverse-partial-match-lookup-filter/

Try the following formula for result including blank cells
=INDEX(IFERROR(REGEXEXTRACT(A2:A,JOIN("|",F2:F7))))
or this one to exclude blanks
=QUERY(INDEX(IFERROR(REGEXEXTRACT(A2:A499,JOIN("|",F2:F7)))),
"where Col1<>'' ",0)
Functions used:
QUERY
INDEX
IFERROR
REGEXEXTRACT3098244

Related

How do I get Row Totals using QUERY() in Google Sheets?

I'm working with the following Google Sheet.
Sheet2 uses the following QUERY() function to retrieve data from Sheet1
=QUERY(IMPORTRANGE("1s8krJ7rbZ1DMblZ3vdLcG5pySVM3ESCBy1o7R5Zv4LM", "Sheet1!B3:D"))
Is it possible to return the Row Totals (For Example: B4+C4+D4 for Row 4) using the above QUERY() function?
Please Advise.
My Query and Expected Output are Outlined on the Google Sheet.
You should be able to do something like this:
=QUERY(IMPORTRANGE("1s8krJ7rbZ1DMblZ3vdLcG5pySVM3ESCBy1o7R5Zv4LM", "Sheet1!B3:D"), "Select Col1+Col2+Col3 label Col1+Col2+Col3 ''")
Note that importing from another tab in the same spreadsheet doesn't require importrange. In that case, this should also work:
=QUERY(Sheet1!B3:D, "Select B+C+D label B+C+D ''")
Another way, to achieve the same result would be
=ArrayFormula(if(len(Sheet1!B3:B), Mmult(--Sheet1!B3:D, transpose(column(Sheet1!B2:D2)^0)),))
Be aware that while a simple QUERY can return the results, it will actually take up the entire column if you don't limit it. In other words, all the null rows from Sheet1! B:D will also come over with the QUERY. If you want only the results that have numbers, try something like this:
=QUERY(Sheet1!B3:D, "Select B+C+D WHERE B+C+D is not null label B+C+D ''")
Or you could use MMULT like this:
=MMULT(FILTER(Sheet1!B3:D,Sheet1!B3:B<>""),SEQUENCE(3,1,1,0))
The results may look the same whether limited or not. But in a QUERY or MMULT without limitations, you won't be able to use the space below the visible results for anything. I only mention this because, currently in your sheet, you do have data (a TRANSPOSE formula) below the main results. If you won't in your real sheet and don't care about the are below the visible results being inaccessible to other data or formula entry, then you don't need to limit.

Exclude all values in a column on a different sheet from a Google Sheets Query

So I have the following query:
=QUERY('sheet - Users'!A1:S, "Select A,B,C,F,G,O,Q,S where Q >= 44223 and not lower(O) matches '.*archived.*|.*archived' and not lower(C) matches '.*admin.*|.*admin' and not UPPER(C) matches '.*SMB.*' and not C matches '.*Shared Mailbox.*' and S >=90",1)
This works perfectly fine (as convoluted as it is), however, I have a list of exceptions that I need to remove from the results (the list could change, so ideally this needs to be dynamic and not hard coded).
I did some digging around and found this example query:
=query(C2:C8,"select C where C<>'"&JOIN("' and C<>'",D2:D10)&"'"&""
But that doesn't seem to be working for me when I try to incorporate it into my query.
The data I need to exclude is on a sheet called: Exclusion List
And is in cells C2:C
Is anyone able to help?
Solution:
You can modify the exclusion list to reference C2:C from another sheet, like this:
=query(C2:C8,"select C where C<>'"&JOIN("' and C<>'",'Exclusion List'!C2:C)&"'"&""
Sample Query and Exclusion Sheet:

Return multiple index Google sheet

This is my query to the espn site for football data when I run the below code this returns only the first column not the full datatable
=IMPORTHTML("https://www.espn.in/soccer/table/_/league/eng.1","table",1)
When I run this =IMPORTHTML("https://www.espn.in/soccer/table/_/league/eng.1","table",2) it returns the datatable but it omits the first column which contains rowname.
Any suggestion how to include both of them?
You can use
=ArrayFormula(
{REGEXREPLACE(IMPORTHTML("https://www.espn.in/soccer/table/_/league/eng.1","table",1),"^\d{1,2}\D{3}",""),
IMPORTHTML("https://www.espn.in/soccer/table/_/league/eng.1","table",2)})
Functions used:
ArrayFormula
REGEXREPLACE
IMPORTHTML

How to use absolute references in google sheets query formula or query by column names for multiple sheets?

I have the following problem. I'm trying to write query formula in order to put all values in one sheet by typing yes in one column, however, I have the following problem. Whenever I add a new column, references in query formula (multiple sheets) are changing and the formula doesn't work. How can I prevent this?
Or is there any way to query by a column name in multiple sheets?
I have tried locking relative references by putting sign $
I have tried to use an indirect formula to take references (data set in Helper TAB, cell E2) - nothing worked
I'm out of the ideas, for now, anyone knows how to fix this?
=QUERY({'Sheet 1'!$A:$Z;'Sheet 2'!$A:$Z;'Sheet 3'!$A:$Z;'Sheet 4'!$A:$Z}, "select * where Col1 ='yes'",0)
Here is the file I did, you can see query formula in Master sheet:
https://docs.google.com/spreadsheets/d/1XD-CECy5W5-HM5EkBFJQKDtLlykQq8Cj8ZOvDUXkd1s/edit?usp=sharing
A solution to the problem is to use a formula that searches for the column address based on a reference.
=SUBSTITUTE(ADDRESS(1;COLUMN(A1);4);"1";"")
This formula will return the value A, which is the column of address A1.
It can be used in query functions like this:
=QUERY(A:D;"SELECT "&SUBSTITUTE(ADDRESS(1;COLUMN(A1);4);"1";"")&"")
This function is equivalent to the function:
=QUERY(A:D;"SELECT A")

How to use Sumif using range from a complete different Googlesheet/doc

I know how sumif works when I need to access it within the same Google "workbook" (using the analogy from excel). By workbook I mean a collection of sheets, not sure whether there is a different way to refer to Google workbook.
For example in the sheet (Example 3): https://docs.google.com/spreadsheets/d/1Dm-N-1X38zHartE3JbPUtWDnYwEpkGHl6v06huvjSa8/edit#gid=0
I have Sheet2, with column A contain strings and column B containing numerical value. On sheet 1, I have a sumif function which can be query data stored in Sheet2, and sum the cells which match A1 in Sheet1.
The problem starts happening when I try to refer to ranges in a completely different workbook, which is shown below.
I am trying to do a sumif over 2 ranges from a different "workbook". The data is stored here (Example 2): https://docs.google.com/spreadsheets/d/1P5Inf09fLSRmsGbG7LwlE4V-r7DzqY0SB5tJuMKMZH0/edit#gid=0
The Sumif function is in Cell B1 of the following sheet (Example 1):https://docs.google.com/spreadsheets/d/1AitilELd6w7Dbv9d-mKhBYGTBaO6DdkU29Y5mofX2TI/edit#gid=0.
From my understanding importrange is typically used to refer to ranges in completely different workbooks, as a result I use importrange as the first and last arguments in the sumif function in the Sheet Example 1.
What am I doing wrong? Why is this not working?
Can anybody help?
Thanks a lot
See if this query does what you want:
=SUM(query( QUERY( Importrange("1P5Inf09fLSRmsGbG7LwlE4V-r7DzqY0SB5tJuMKMZH0","Sheet1!A1:B10") ) , "select Col2 where Col1 contains '"&A1&"'" ) )

Resources