I got a large list of skus and a list of "parent" skus.
I want to match similar skus and list them out row.
Check the image below!
Example
Anybody out there with spreedsheet skills out there?
(it can be excel or google sheet)
https://docs.google.com/spreadsheets/d/17AnkT0weoJ8VY09pckVladRUmdqJakErvNuTWXChQzQ/pubhtml?gid=60236703&single=true
In B2 use =ArrayFormula(UNIQUE(REGEXEXTRACT(A2:A,"\d+")))
That will extract the SKU parent id before the - and remove duplicates.
Then in C2 put =JOIN(", ",FILTER($A$2:$A$18,REGEXMATCH($A$2:$A$18,B2)))
That will filter all SKU's by the parent SKU in column C and join them together in a string.
That formula can then be dragged down.
If anyone knows a solution to combine the latter formula with with an array formula to avoid dragging I'm happy about suggestions.
Related
I want to make a list of, say, grocery items. In one column I have the items, in another column I have the costs. I want to create a list with a subset of the grocery items such that the total price of those items is returned.
I've attached a screenshot with an example to demonstrate. The items are in column A; the costs are in column B. The subset of items I want to purchase is in column D; and I want the total cost returned in column E. I want to be able to add or subtract items from Column D and have the total cost update in column E.
Is there a way to do this with functions or minimal scripting? I've looked at documentation for INDIRECT and HLOOKUP, but I don't know these are the functions that I need, and if I do, I don't know how I need to use them.
Try this
=INDEX(SUM(SUMIF(O2:P8,"="&R2:R5,P2:P8)))
The solution that worked for me was to use VLOOKUP with ARRAYFORMULA:
=SUM(ARRAYFORMULA(IF(ISBLANK(D2:D),,VLOOKUP(D2:D,A:B, 2,))))
try:
=INDEX(SUM(1*IFERROR(VLOOKUP(D2:D; A:B; 2; ))))
I have a google sheet with 2 columns, A (containing names) and B (containing dates).
there are quite a few duplicates in A which I need resolved by looking at B and selecting the row with the soonest date.
Ideally I need to extract the data to make a list on another sheet with no duplicates, being resolved by the above method. the issue is that there might be new rows added to the sheet, and I need the new rows checked against the existing data to confirm it has a sooner date compared to potential duplicates. how can I formulate this?
There is probably a better way, but I just use the query function to put the results in a different sheet so I don't mess with the source data.
=QUERY()
Here is some examples on how it is used: https://support.google.com/docs/answer/3093343
As for the query itself, something like this should work. A being the first column (Name), and B being the second column (Date).
SELECT A, MAX(B) GROUP BY A
I've come looking for help regarding this issue. I'm a teacher, and am trying to help my students get all their documents together for university applications. Google Sheets tell me that I'm not able to filter cells containing vertical merges, but I want to filter by the earliest application deadline (column G) so I know which student I have to chase up first, second, third, etc., without losing the rest of the data in the row.
Does anyone know a good way of doing this? I've created a sample of my spreadsheet: here.
Thanks in advance.
Try Insert > New sheet and this formula in cell A1 of the new sheet:
=query('2021'!A1:Z, "where G is not null order by G", 1)
The sorted list is for reference only. You will need to continue to do your editing in the 2021 sheet.
I would split the data between a couple of sheets.
In the first sheet you'd have important data that can be seen at a glance and filtered easily, like student names, universities and deadlines.
In the second sheet (which you can link by student name or id) you can put extra info like necessary documents, urls etc - something like this.
Alternatively keep all the info in one sheet but don't use split columns or rows - it isn't conducive for sorting, filtering and viewing data (and what's the point of data if you can't analyse it?)
I want to do a complex formula using google sheets:
I have a list of place that will be visited by different people.
Some places are not to be visited, marked with /
Some places need to be assigned, marked with ?
Wanted outcome:
A list of cells that changes every day automatic.
An overview of who is going where that day and what needs to be assigned.
So I need a formula that can select a row based on today() and then filter out Persons in that row. Then for each person, another formula that looks up the first row in the table and puts duplicates together.
Example:
Wanted outcome:
Link to excel file, but it needs to work in google sheets too: xlsx
My solution is not the most elegant but it does the job.
First I build a column with date and unique persons or ? in this column:
=unique(sort(transpose(index(A1:H10,match(today(),A1:A10,0)))))
Then I find Places corresponding to these persons (I use filter function for it and then I use textjoin to keep them in single cell).
The formula is copied down as filter function does not accept a range and arrayformula as a filtering criterium.
My solution is available here:
https://docs.google.com/spreadsheets/d/1GTy_UaFP8LbA8OLnEhT_R_twpDCIWCuvQfBAigqtbR0/copy
I'm working on a project for local children's org. We have charity sales data in the following format in Google sheet:
How can I create total sales by child from this table above? I want the output to be like this:
I've tried to use Query but couldn't get it right. Please help! Thank you!
If your Child 1-4 column is not expected to expand, then I would just use sumif functions to get the sum of each column based on the child's letter. Then add all to get the result for each letter child. Then you will list all the letters in one column, copy the result column down. Make sure to lock your cells for the sumif formula.