I am stuck with a task which am seeking help from you guys. the solution I want is to find common words in two columns. eg if a word comes common in two cells it must appear in another column. we don't need the words only in one column.
https://docs.google.com/spreadsheets/d/1u_AD1FAbq0ntushGSYZBsR59iPX1_p5ZSIq1mowQSQ4/edit#gid=0
pls take a look to the shared link.
A screenshot also is shown here:
In a array context,
MATCH Col1 against Col2 getting indexes of strings in Col1 that are present in Col2
FILTER Col1 against the resulting matched array
=ARRAYFORMULA(FILTER(A2:A10,MATCH(A2:A10,B2:B10,0)))
Related
I am making a spreadsheet to compare various lists in various different ways. One of those ways is to take a bunch of separate lists (each in different columns) and combine them into one large column (without losing anything). This allows me to keep things separate while still having the option to VLOOKUP and FILTER and stuff. Maybe this isn't the way to go about it, but it's the way I've gone with so far.
The solution I came up with for now is to QUERY it all as an array (I think that's the right term) and then just select everything that isn't "".
It looks like this though:
=QUERY({Decklists!B8:B;Decklists!C8:C;Decklists!D8:D;Decklists!E8:E;Decklists!F8:F;Decklists!G8:G;Decklists!H8:H;Decklists!I8:I;Decklists!J8:J;Decklists!K8:K;Decklists!L8:L;Decklists!M8:M;Decklists!N8:N;Decklists!O8:O;Decklists!P8:P;Decklists!Q8:Q;Decklists!R8:R;Decklists!S8:S;Decklists!T8:T;Decklists!U8:U;Decklists!V8:V;Decklists!W8:W;Decklists!X8:X;Decklists!Y8:Y;Decklists!Z8:Z;Decklists!AA8:AA;Decklists!AB8:AB;Decklists!AC8:AC;Decklists!AD8:AD}, "select Col1 where Col1 <>''", 0)
Which is really ugly. It works and does what I want, but I'd much prefer it to be clean and work if I add more columns in the future, without having to go and add the additional "call".
If you'd like to look at the whole sheet, it's here: https://docs.google.com/spreadsheets/d/17Nwek5ZCgu7Jvk922hl_gv9UJAeORjeH9brXqu3zL_Y/edit#gid=940775206
On the "Best Buys" sheet cell C2 Paste this simple formula.
=QUERY(FLATTEN(Decklists!B8:AF), "select Col1 where Col1 <>''")
Explanation
1 - FLATTEN the range needed in this case the Decklists range Decklists!B8:AF.
2 - QUERY the resulted column from the FLATTEN function with the query "select Col1 where Col1 <>''", to get only non empty cells
Try
=query( flatten(offset(Decklists!A:A,0,1,,columns(Decklists!1:1)-1)) ,"where Col1 is not null",0)
So we have 3 things to do, first one is transpose so the columns are below the other, then flatten so that it is ordered as necessary and finally a filter to remove extra blank columns we selected This will work wonders considering the columns are different lengths, are already next to each other as in a table. If columns are at multiple places use {A:A;D:D} to select columns and remove flatten and transpose.
=filter(flatten(transpose(A1:D10)), len(flatten(transpose(A1:D10))))
I've been struggling on something that looked simple at first, but that I can actually not solve on my own.
I have a list of items (column A), and each item has a quantity (column B). It is possible to find the same item multiple times in the list, with a different quantity. I would like to create, from that list, a list that references the unique occurrences with their total quantity throughout the whole initial list. I took a screenshot of the expected result, you can see it below (I cannot embed images yet, so I used an imgur link instead) :
Example
I've tried the UNIQUE & SORT combination which indeed gives me the sorted list of unique occurrences, however I didn't manage to add up their values. I feel like I'm going the wrong way here.
Thanks in advance for your help!
You problem can be solved easily by magic sumifs function, you can even have multiple criteria if you need:
=SUMIFS(B:B,A:A,D2)
use:
=QUERY({A3:B}; "select Col1,sum(Col2) where Col1 is not null group by Col1 label sum(Col2)''")
Link to doc - https://docs.google.com/spreadsheets/d/1-kEMMiB6mj3lt3DUSDvW3BmdGaADajbGUwD_oZVllWU/edit?usp=sharing
I have written a formula that scans a list of Slack threads, formats the threads into plain text, then counts the frequency of every word in the range of plain text.
The goal behind this formula is to search for 'trending' keywords that frequently pop up in a Slack channel.
As you can see there are a couple tabs, the Readme does a decent job explaining everything but I'll give the TLDR here:
The Data tab contains all of the imported Slack information. Data!E2 contains a messy formula of REGEXREPLACE functions that filter the data into plain text.
In the Keywords tab under Keywords!A2 you'll find the 'frequency' counting formula. Here it is:
=ArrayFormula(QUERY(TRANSPOSE(SPLIT(JOIN(" ", Data!E3:E)," ")&{"";""}),"select Col1, count(Col2) where not(Col1 matches'"&JOIN("|", Stopwords!B1:B)&"') group by Col1 order by count(Col2) desc limit 800 ",0))
To clarify the formula searches the range Data!E3:E and JOINS all the words together with a space delimiter. Then, we SPLIT the string across a number of cells and TRANSPOSE the new row of cells into a column of cells found in Keywords!A3.
Lastly, a query is run to count all of the instances of each word and places each keyword's count into Keywords!B3. One thing to keep in mind is this query is run against a list of stopwords found under Stopwords!B1 in order to remove a good deal of text from the query that would not really need to be counted.
As you can see I am now receive a #REF! error. This wasn't always the case, for a while this formula worked as expected, words were listed in column A under Keywords and column B showed the frequency they appear. The other columns then could run their functions off this list and fill in the rest of the Keywords sheet.
I am curious though, I noted when I set the function range to Data!E3:3000 that every time the function ran it would add another ten or so rows to the range, so it would grow to E3:3018, E3:3032 etc etc. Then it broke and now says "Error Result was not automatically expanded, please insert more rows (13)."
If anyone could help me optimize this formula to run a bit better that would be amazing. Thanks!
Sorry that no one has replied earlier. I just found this.
But I think your error is in column B of your Stopwords tab. The formula there should be moved to B1, instead of partway down the page. That is giving the REF! error, which then appears in your main formula when it references the Range B1:B.
Let me know if this helps.
And you may want to revise your formula to end with:
label count(Col2) ''
which removes the header for the count(Col2) column.
This is like my input. if theres better way to import that site, you can suggest me it
I need to find all columns with prices and put them in one big column-table. My point is to use vlookup afterwards.
Also I need formula not normal references, because the table can vary. Similar thing is that there are always names+price(+$}.
It should maybe check every cell with text and check if theres number next to it, then add it to big table?
try:
=QUERY({
Original!D:E; Original!H:I; Original!L:M; Original!P:Q};
"where Col1 is not null and Col2 is not null"; 0)
Brief: I am using a formula to retrieve the information relative to the most frequently used words in a list. I am trying to make it work together with a filter in order to narrow down the results.
Parallel to this, I am filtering the results of a table based on one category (i.e. country) using filters. However, when I narrow down the results using the filter, I encounter two problems:
The filter only hides the rows that do not contain the country of choice, so the results I get are exactly the same. How can the results of this formula be narrowed down based on the visible cells?
I only manage to see all the results when I place the formula below the data, as shown on the screenshot below. Is there a way to force-show the results to the side of the filtered list?
Here's the screenshot:
Here's the spreadsheet I have created to work on a solution:
Link to Spreadsheet
un-filter your B:C range
paste in D2 and drag down this formula: =SUBTOTAL(103, B2)
hide column D
use this formula:
=ARRAYFORMULA(QUERY(TRANSPOSE(SPLIT(QUERY(FILTER(B3:B21, D3:D21=1)&",",,99^99), ",")),
"select Col1,count(Col1)
group by Col1
order by count(Col1) desc
limit 5
label count(Col1)''"))