I have a dataset with more than 250000 rows. Whenever I do paint format from one column to another, it always stops at the blank and does not keep the paint format to the following rows. What are the solutions to have one format apply to all columns?
Related
I'm trying to make a graph that highlights decreases and increases here in google sheets. However, as you can see on the left of the graph some of the increases are being highlighted as decreases. I know it's because the values overlap but the values causing this problem are needed as the start of another decrease
The data used is filtered to remove duplicates. If I use the unfiltered data this problem doesn't appear but I would prefer the filtered data.
The formulas in each column are:
F- =FILTER(A:A,len(A:A))
G- =FILTER(B:B,len(B:B))
H- =IF(OR($G2<$G3,$G2>$G1),$G2,"")
I- =IF(OR($G2>$G3,$G2<$G1),$G2,"")
Is there any way of fixing this?
I have two Google Sheets (separate documents) that contain information, let's call them Master & Source. Within Source I have an undefined range of cells that are in sorted order by date that I need to display within Master. Master is intended to have links to all the various Source sheets, in normal operation, I'll have multiple of these, so I can view all of the quick information about all of the Source sheets displayed conveniently in Master. Master contains a date range that starts before and ends after the date range from within Source (to accommodate other date ranges from other Source sheets).
My goal is to create a single cell formula that can be copied and pasted for each Source that I need to view in my Master that would fill the cells in columns before and after the date range from Source with the string "No Class" and all the cells that match the date range from Source would simply be a copy/reference to the matching cell from Source. This is the formula I came up with:
=ARRAYFORMULA(if({A1:Z1;A1:Z1;A1:Z1;A1:Z1;A1:Z1}<importrange(Link!B4,"Source!A1"),"No Class",if({A1:Z1;A1:Z1;A1:Z1;A1:Z1;A1:Z1}>Link!N4,"No Class",importrange(Link!B4,"Source!A1:Z99"))))
Link!N4 = Start Date
Link!B4 = hyperlink to the google sheet `Source`
Amazingly, it works quite well, except for one major drawback: the array of values from importrange are relative to the cell that the formula is in - aka, the range from Source starts at Master!A1 rather than starting at the first column that has the same date as Source!A1.
This is a screenshot of the result of my formula in Master. *EDIT: No Class has conditional formatting to make the font color match the fill, so you can't see it in this screenshot, but they are the dark grey cells.
And another screenshot, this time of the Source I'm trying to view.
I realize this approach might not be the only way (or might not work at all) but each time I try something else it always comes down to the same problem: how do I dynamically start the importrange at the first column that matches the date from Source using a formula that is in the first cell?
I found an acceptable workaround. This is by no means a solution to the problem of trying to offset data within an array, but it allows me to get what I needed to be done. This code needs to be filled using the fill handle (blue square on the bottom right of the selected cell). I'm adding this here in the event someone gets in a similar situation and needs an alternative way to look at the problem.
=iferror(if(importrange(Link!$B4,"Source!A1")>A2,{"No Class";"No Class";"No Class";"No Class";"No Class"},if(importrange(Link!$B4,address(1,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE,"Source"))=A2,importrange(Link!$B4,address(2,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE,"Source")&":"&address(5,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE)),"No Class")),{"No Class";"No Class";"No Class";"No Class";"No Class"})
A2 is the date of the column in master I'm trying to import into, it changes as your drag the fill handle.
A3 is the cell that the formula is currently in
This works by first checking iferror (but I'll come back to that).
Then, if the date in the same column as the formula is less than the start date "No Class" fills the column (hides dates prior to start date)
ELSE If the date in the same column as the formula is the SAME as the date in the column of the Source (offset by the number of columns away from the start date) then fill the column with the corresponding column from Source (aka, this fills one column at a time, rather than importing the entire range at once).
(Back to iferror) An error is returned for any columns that come after the end date - so iferror fills those columns with "No Class"
I'm trying to track voting attendance for meetings and I'm having varying degrees of successes.
Problem Scenario:
Column H, I, and J contain either a 1 or a blank and represent if they attended one of the last 3 meetings.
For all rows if ALL 3 Columns (H, I, AND J) are BLANK or "", mark that entire ROW RED
Then I need to SUM the number of rows that are marked RED and subtract that from voting members.
I've tried leveraging Conditional Formatting tool > Custom Formula with not much success. Below are some of the things I tried and failed even on the first part of my scenario.
=IF(SUM(H4:J4)>0,false,true)
=ISBLANK(H4:J4)
=IF(ISBLANK(H4:J4),false,true)
=ARRAYFORMULA(OR(ISBLANK(H4:J4))) = FALSE
None of these quite worked as hoped and even copying to each row and pasting conditional formatting also messed up the formula further.
For formatting: Use the Conditional Formatting using the COUNTBLANK(range) formula.
Go to Conditional Formatting
Select the range you want formatted (in your case H1:J50 assuming 50 rows)
Select Custom Format is
Add the expression =countblank($H1:$J1)=3
Select red from the color palette
Press Done
Then your blank rows will now be highlighted red.
To Count the Blank rows:
Choose an used column.
Enter the expression =if(countblank($H1:$J1)=3,1,0) in Row1 and auto fill as many rows as needed.
Total at bottom and use this value for you subtraction.
There may be easier ways but =if(countblank($H1:$J1)=3,1,0) will put a 1 in the row if H1:J1 are all blank.
Right now I am tasked to compare similar data across 3 columns and its respective rows and then highlight them.
I was wondering whether if it is possible to format the spreadsheet so that the cells highlight on their own across their respective rows when similar data is entered into the cells.
I have attached an example in the link provided !
OK select the range you want to format then go to Format | Conditional format | Add new rule and choose the last option (Custom formula is...) under Format cells if...
Enter the following formula (adjusting range to how many rows and columns you have in your data)
=countifs($A$2:$A$18,$A2,$B$2:$B$18,$B2,$C$2:$C$18,$C2)>1
and choose the fill colour that you want.
The formula counts how many rows there are whose first three columns match the first three columns of the current row. If the result is greater than one, there is a duplicate and the current row should be formatted.
I've seen lots of answers for various other conditions under which to do this. However I can't seem to modify any of these to work for a date range. What I want is for the column color of column E to change if the date in column H is between today and 5 days from today.
I've tried varying versions of this formula: H3:H150 =today() +5 with no success
This doesn't give me the range of between now and 5 days from now but I could do multiple rules like this and just go down on each one(=today() +4, =today() +3, etc) but obviously I need this rule to work first.
Thanks!
Conditional formatting is more helpful than you seem to be expecting. Clear formatting from the column to be formatted, select it and Format, Conditional formatting..., Format cells if... Custom formula is and:
=and(H1>today(),H1<today()+6,H1<>"")
Then select fill of choice and Done.
This should format the next five days (change the angled brackets around for the past five days).
Setting the range is achieved with selection of the column to be formatted (not the one with dates in it - H). If only to apply to Rows3:150 (and in general it is a good idea, for speed of processing, to restrict the ranges to which CF is applied) then either start by selecting Rows3:150 in the column to be formatted (instead of the entire column) or adjust the Apply to range for the rule, but in either case use H3 in place of H1 in the formula above.
CF should automatically apply the rule as written to the first row in the selected range and then adjust it for the second and subsequent rows in the way copying down would adjust the formula (if at all) were it in a cell in the sheet.