i'm trying to create a smart work schedule for my workplace.
Due to nature of our work sometimes one person has to be responsible for more than one lab. Some splits are possible to manage and some aren't.
I have a ready sheet (called Grafik podzielony) that processes information from another sheet (Grafik).
Work is divided into 3 shifts: 1st one 7:00am-11:00am, 2nd one - 11:00am-2:30pm and the 3rd one from 14:30pm onwards.
I'd like to highlight cells that contain substrings occurring more than once in a particular timeframe (e.g. 7-11am).
I've tried to do this in numerous ways and yet i've failed miserably.
Any help really appreciated.
Here's an editable like to the spreadsheet
https://docs.google.com/spreadsheets/d/17m01Bz7wsq2H0rcIssbVt2Srq2dk477vYjwQXr6ZBOE/edit?usp=sharing
I'd like to highlight cells that contain substrings occurring more than once in a particular timeframe (e.g. 7-11am).
I've tried to do this in numerous ways and yet i've failed miserably.
Any help really appreciated.
Here's an editable like to the spreadsheet
https://docs.google.com/spreadsheets/d/17m01Bz7wsq2H0rcIssbVt2Srq2dk477vYjwQXr6ZBOE/edit?usp=sharing
UPDATE: Try this option that considers each value divided by "/":
=REGEXMATCH(B3;join("|";query(Query(transpose(split(join("/";$B3:$K3);"/";1;1));"Select Col1,count(Col1) group by Col1";0);"select Col1 where Col2>1")))
See at row 3 or row 10:
Related
I have a database of blogs, all based around different business units (including information like headline, topic, progress, spokesperson, etc).
I'd like to create separate tabs into which I can automatically pull the rows for each business unit (i.e. containing the keyword for "Banking", or "Energy & Utilities", or "Retail" in a certain column).
Unfortunately, despite looking at some tutorials and examples, I haven't been able to find any VLOOKUP, IMPORTRANGE, or INDEX/MATCH (etc.) functions that can help.
Example:
I've created an example spreadsheet here: https://docs.google.com/spreadsheets/d/19lHTxLaAgtHz5wg0sLLVw1YSpEXvQycL2PUd6Grs4X0/edit?usp=sharing
I'd like to be able to search column C for every row which contains the keyword "Banking" and automatically import all of these rows into a separate tab, named 'Banking'. That formula could then be repurposed for different tabs for each Business Unit.
Is there a formula or solution that would let me do this?
Thank you!
I attempted VLOOKUP, XLOOKUP, INDEX/MATCH, QUERY(IMPORTRANGE) in a separate sheet, and other related functions, but was unable to repurpose these functions to work for my database. Most efforts resulted in error codes or an inability to parse (although I'm more than willing to admit I probably made a mistake).
In A1 of your Banking sheet use:
=FILTER('Master sheet'!A:E,'Master sheet'!C:C="Banking")
You can try either of these in your Banking tab:
=QUERY('Master sheet'!A:E,"WHERE C='Banking'",1)
OR
={'Master sheet'!A1:E1;FILTER('Master sheet'!A:E,'Master sheet'!C:C="Banking")}
OR
=LAMBDA(z,{chooserows(z,1);filter(z,choosecols(z,3)="Banking")})('Master sheet'!A:E)
=QUERY(IMPORTRANGE("19lHTxLaAgtHz5wg0sLLVw1YSpEXvQycL2PUd6Grs4X0","Master Sheet!A:E")," Select * where Col3 Contains 'Banking' ")
or
=QUERY(IMPORTRANGE("19lHTxLaAgtHz5wg0sLLVw1YSpEXvQycL2PUd6Grs4X0","Master Sheet!A:E")," Select * where Col3='Banking' ")
Below is a sample of the Google Sheet I'm working on:
https://docs.google.com/spreadsheets/d/1LDsfn_FMdUSfuFZAyuXf5gdlOSN9yLqhT1RY8aX7Nfs/edit?usp=sharing
On the spreadsheet Team Totals, I'm trying to calculate all the sales based on the date, the type of sale, and the program type starting from Row 27.
The problem I have run into is that the Named Range, Consultants, only pulls the data from the first cell of the Named range (Octo). What I want is for a formula that will pull the data of the selected range from each entry in the named range and sum them together.
For reference, I put what the proper values should be starting from Row 33.
The closest example I have seen was from this website: https://www.got-it.ai/solutions/excel-chat/excel-tutorial/sumif/sumif-across-multiple-sheets
However, I get the same problem that only the first cell in the named range gets pulled.
I feel like I'm missing something simple, but I have been bouncing it around my head for hours and can't figure it out. Any help is greatly appreciated.
So after trying to figure out a way not to use an iterative process, I folded and did this:
=arrayformula(SUMIFS(INDIRECT("'"&$B$4&"'!F6:F100"),INDIRECT("'"&$B$4&"'!D6:D100"),$B$2,INDIRECT("'"&$B$4&"'!E6:E100"),E$27,INDIRECT("'"&$B$4&"'!A6:A100"),$A41)+
SUMIFS(INDIRECT("'"&$B$5&"'!F6:F100"),INDIRECT("'"&$B$5&"'!D6:D100"),$B$2,INDIRECT("'"&$B$5&"'!E6:E100"),E$27,INDIRECT("'"&$B$5&"'!A6:A100"),$A41)+
SUMIFS(INDIRECT("'"&$B$6&"'!F6:F100"),INDIRECT("'"&$B$6&"'!D6:D100"),$B$2,INDIRECT("'"&$B$6&"'!E6:E100"),E$27,INDIRECT("'"&$B$6&"'!A6:A100"),$A41)+
SUMIFS(INDIRECT("'"&$B$7&"'!F6:F100"),INDIRECT("'"&$B$7&"'!D6:D100"),$B$2,INDIRECT("'"&$B$7&"'!E6:E100"),E$27,INDIRECT("'"&$B$7&"'!A6:A100"),$A41)+
SUMIFS(INDIRECT("'"&$B$8&"'!F6:F100"),INDIRECT("'"&$B$8&"'!D6:D100"),$B$2,INDIRECT("'"&$B$8&"'!E6:E100"),E$27,INDIRECT("'"&$B$8&"'!A6:A100"),$A41)+
SUMIFS(INDIRECT("'"&$B$9&"'!F6:F100"),INDIRECT("'"&$B$9&"'!D6:D100"),$B$2,INDIRECT("'"&$B$9&"'!E6:E100"),E$27,INDIRECT("'"&$B$9&"'!A6:A100"),$A41))
This formula allows me to cut and paste it to various cells easily, and does the job I need it to, while still using the indirect reference so I can change names without breaking the formula (granted I change the worksheet name as well).
I will need to edit this to include all possible worksheet amounts I can forsee, but once it's done, I won't have to tinker with names anymore.
I'm not happy with this answer, as it creates a really long and ugly formula, essentially repeating the same formula 20 times, but it does work. I feel like there should be an easy function that would be able to do this.
This will return Total sales:
=if(isna(ArrayFormula(QUERY({Lo!$A$5:$F; Tulio!$A$5:$F;Ya!$A$5:$F; Miguel!$A$5:$F;Kevin!$A$5:$F; Octo!$A$5:$F}, "select sum(Col6) where Col1=date '"&TEXT(A28,"yyyy-mm-dd")&"' label sum(Col6) ''",0)))=TRUE,0,ArrayFormula(QUERY({Lo!$A$5:$F; Tulio!$A$5:$F;Ya!$A$5:$F; Miguel!$A$5:$F;Kevin!$A$5:$F; Octo!$A$5:$F}, "select sum(Col6) where Col1=date '"&TEXT(A28,"yyyy-mm-dd")&"' label sum(Col6) ''",0)))
BTW, I get Total sales of $0, $615.50 and $2,498.00
The best way to pull data from a lot of unknown tab names without a script is to actually CREATE the tab names beforehand. On your sheet it looks like you're anticipating/making space for 21 employees. If I were you, I would just create 15 more tabs named Temp7,Temp8,Temp9... etc. Then you can just "hide" those tabs. Then a formula can be built in your totals section that will easily stack all the tabs up using an array literal and a QUERY( { } ) to add up the totals for you without all this INDIRECT() nonsense that you have been going through to pull from the individual tab names.
Would pre-adding tab names be something you were interested in if I could show you the formulas to make the totals easy to calculate?
Is there a way to speed up the editing of hundreds of lines of formulas across many tabs in the same Google Sheet?
This is a followup question to: References changing in Google Sheets with new forms submissions ; which is about every time a new row is added in Google Sheets by a new submission from a Google Forms, some formulas change their references even if they are fixed with $ (Still no idea why that happens). The solution is to add INDIRECT to the formulas. However, there are too many formulas to comfortably change manually.
For example I have formulas like:
=COUNTIFS('Resp'!$AM$56:$AM,"Conf",'Resp'!$B56:$B,"PC
Arr")
It needs to change to :
=COUNTIFS(INDIRECT("Resp!$AM$2:$AM"),"Conf",indirect("Resp!$B2:$B"),"PC
Arr")
Search and replace wouldn't work because the way formulas are written, and there are quite varied types of formula and referenced columns (although the reference must change from 56 to 2) and the " ' " in the middles need to disappear.
Is there a way to speed up these changes even a bit or is it inevitable manual labor?
the only way how to mass-change formulas in Google Sheets is via CTRL + H where you can do it like this:
I found a mechanical way to lessen the amount of work to change many different formulas, but let me start with a general case first.
Option 1- For when the same formula repeats identically.
Search and replace (Ctrl+H) works well if you have the same formulas repeated all over. In this case it's viable to change massively, or once and then drag as needed.
However...
Option 2- When you have dozens of formulas that may be just slightly different or just too similar that 'Search and replace' (Ctrl+H) wouldn't work.
More so, if it's just so different that you cant drag the formula (like the reference changing to a new column and writing a different text based on that), then unfortunately you need to manually change things.
The solution I'm using to lessen the work was to use a programmable keyboard (in my case programmable+multimedia keyboard - Steren COM-6490 , up to 15 macros).
I used it to write down: INDIRECT(" , ") and $2 mainly, and then all the other mayor parts of text,references or formulas that do repeat with just 1 key each. Making a duplicate of your current formula on another sheet and have it open too in order to copy-paste stuff to complement the formulas also helps.
I haven't been able to find a solution to get this formula to work after multiple days of searching. The google spreadsheet we use is large and used by many people so I would like to keep this in a separate google sheet using IMPORTRANGE.
Data Needed:
Count of assignments a specific user completed within 7 days and after 7 days based on a start and end date.
Where I'm running into issues:
I simplified the equation by using a small data set in the same sheet to see the main issue. When giving a range for the user # the formula doesn't work anymore. When only comparing it to one user # at a time it does.
For example:
This doesn't work:
=COUNTIFS(C2:C-B2:B,"<7",A2:A,E2)
This one does but needs to have the range for the table to work:
=COUNTIFS(C2:C-B2:B,"<7",A2,E2)
I might be going about this all wrong. Any help I could get is much appreciated.
E2: =UNIQUE(FILTER(A2:A, A2:A<>""))
F2 and drag down: =COUNTIF(ARRAYFORMULA(DAYS(FILTER(C$2:C,$A$2:$A=$E2),FILTER(B$2:B,$A$2:$A=$E2))),"<=7")
G2 and drag down: =COUNTIF(ARRAYFORMULA(DAYS(FILTER(C$2:C,$A$2:$A=$E2),FILTER(B$2:B,$A$2:$A=$E2))),">7")
I'm trying to create a formula that uses a dynamic range to link to the different tabs. It would then return the last 12 values before a blank cell, based on the value in the Header Column.
The tricky part is the data in each tab is of different sizes, so I thought it might have to incorporate either Offset(Blank()),0,-12) or something of the sort. I've tried a lot of different things, and this is the latest effort:
=Index(Indirect(A2&"!A9:AK9"),match("Conversions",Indirect(A2&"!A9:AK9"),)0,-12)
Edit: First post, sorry for the confusion. My goal is to make a large dashboard that has a dynamic chart using our monthly metrics. (I'm leaving the chart setup for another day)
The data varies in such, some have columns A:K, while some have a larger range of A:AK , etc. (With A:A being text). Since I've posted this, I have had some success by using Filter(), but the problem I'm not sure how to solve is finding the last 12 values before a blank cell.
Example of Data 1
Example of Data 2
Hopefully this helps explain the situation and I appreciate everyone for help.