I need help with stopping Excel from updating formula after a criteria is matched. I have the following:
Cell A1 is =TODAY() cell
B1 is "Date Received"
Cell C1 is number of days open (contains the formula). This value is obtained by the following formula:
=IF(B1="","-",IF(NETWORKDAYS($B1,$A$1)>0,NETWORKDAYS($C1,$A$1),"-"))
This returns the number of days a sales quote has been open.
The second part is once the invoice has been done and now I have a second date to use.
Cell D1 is Date the invoice is completed Cell E1 is number of days taken to invoice (contains the formula)
This is obtained by the following formula:
=IF(NETWORKDAYS($B1,$D1)>0, NETWORKDAYS($B1,$D1),"-")
What I need is once Cell D1 is filled out that Excel freezes Cell C1 and not continue counting days between B1 and A1 as cell A1 will update each new day? Can this be done and how if so?
I want to create a calendar in Excel with 2 sheets:
Actual monthly calendar
Display current week of the month AND cells displaying data accordingly
Task: I want to show the people who are working this week rather than the whole month.
I got the code for current week display:
=TEXT(TODAY()-WEEKDAY(TODAY(),3),"mmmm dd, yyyy")&" - "&TEXT(TODAY()-WEEKDAY(TODAY(),3)+6,"mmmm dd, yyyy")
So, this will show the current eeek starting on Monday and ending on Sunday (as I needed to display)
Now:
On sheet 2, I want to show ONLY the dates of week on the calendar based on this above calculation.
Match the week start date to a list of Mondays in a different tab, then display the name of the person on the cells below the matching date (this is VLOOKUP, HLOOKUP)
Have this automatically updated every week with correct info
Is it possible? How?
I am not a coder at all.
In a blank sheet (Sheet2):
A2 =TODAY()
A4 delta
A5 to A19 consecutive values from -7 to 7
B4 Today+delta
C4 Weeknum
D4 Weekday
E4 Key
F4 Today+delta (again)
B5 =$A$2+A5 and then replicate this formula until B19
C5 =WEEKNUM(B5)
D5 =WEEKDAY(B5)
E5 =CONCATENATE(C5,"-",D5)
F5 =B5
Now extend those formulas (B5:F5) until row 19 (B19:F19)
In another blank sheet (Sheet1)
In the firs row put your formula
A2 to G2 consecutive values from 1 to 7
A3 =CONCATENATE(WEEKNUM(TODAY()),"-",A2)
Extend that formula in the range A3:G3
A4 to G4 Weekday names from Monday to Sunday
A5 =VLOOKUP(A$3, Sheet2!$E$5:$F$19, 2, 0)
Extend that formula in the range A5:G5
Until now, you should have Sheet1 with the requirement of the week showing every day of the current week. If you need a different week, just change the value in Sheet2!A2 adding or substracting days.
Trying to return an average based on a finite set of values in a range. The range starting point is determined by a separate cell value.
If Cell A1 = 3/1/15
I need the average of values beginning with 3/1/15 column, and extending 12 columns.
Starting date in A2, Avg in B2, List of Date headers in C1:Z1, cell values underneath headers columns.
https://docs.google.com/spreadsheets/d/1hDPPIWKFUbKiUNvwbbY-6lFp18ujderwgaFSa9OqMEU/edit?usp=sharing
Try using the AVERAGEIFS function, so in cell B2 to calculate the average of cells C2 to Q2 if they are between the value in A2 and 365 days on from the value in A2:
(Adapted using comment from #Scott)
=AVERAGEIFS(C2:Q2,$C$1:$Q$1,">="&A2,$C$1:$Q$1,"<"&A2+365)
There is the issue
I wonder if there is a way like if there is date(or text,e.g.) on B1 cell then copy B1 data to the range A2-A19, until the next cell with data (B20) and so goes on. Because on much data cannot be done by hand.
If the "date" values in column B are actually text, then enter into A1:
=IF(ISERROR(AND(FIND("/";B1)=3;FIND("/";B1;4)=6));OFFSET(A$1;ROW()-2;0);B1)
This tests for cell B1 having a "/" character at the third and sixth positions in the string.
If the "date" values are in column B are actually entered into the spreadsheet as dates, then enter into A1:
=IF(YEAR(B1)<1950;OFFSET(A$1;ROW()-2;0);B1)
This tests for the integer value of B1 (in the case of a date, this value is the number of days since December 31, 1899) falling in a year earlier than 1950. You may have to adjust 1950 to a different year depending on the details of your data.
In either case, if the test fails then the value from the previous row of column A is displayed (offsetting cell A1 by the current row minus two: for example on row 3, A1 will be offset by 3-2= 1 and A1 offset by 1 is A2).
If the test succeeds then the value from the corresponding row in column B is displayed.
The $ in the A$1 will keep that value constant when the formula is copy-pasted, so the offset calculation will work correctly. All the other values will adjust appropriately when you copy-paste down the row.
I have to build a report that has two different date columns in it; M-F of the previous month, and T-S of the previous month.
If in column A I have a list of all days from the previous month
A
1 | 8/1/2013 |
2 | 8/2/2013 |
...
31 | 8/31/2013 |
Is there a formula that could be used in columns B and C to get the necessary dates?
Well, sure, you can use this formula to avoid the blank cells in between the dates:
=IFERROR(INDEX($A$1:$A$31,SMALL(IF(MOD($A$1:$A$31,7)>1,ROW($A$1:$A$31,9^99),ROW())),"")
This formula (for Monday to Friday) needs to be called with Ctrl+Shift+Enter. After doing this for the first date, you can drag down to the bottom.
For the one with Tuesday to Saturday, it's a bit longer;
=IFERROR(INDEX($A$1:$A$31,SMALL(IF(((MOD($A$1:$A$31,7)>2)+(MOD($A$1:$A$31,7)=0))>0,ROW($A$1:$A$31),9^99),ROW())),"")
But at the same time, you have to call this function with Ctrl+Shift+Enter as otherwise, you won't be able to get the other dates (you will get #NUM! instead for the other dates).
Instead of typing the days in column A, you could do something like this:
In cell B1 is this formula (formatted as m/d/yyyy):
=TODAY()
In cell B2 is this formula (formatted as mmmm):
=DATE(YEAR(B1),MONTH(B1)-1,1)
In cell A5 is this formula (formatted as m/d/yyyy):
=IF(WEEKDAY(B2,2)<6,B2,B2+1+(WEEKDAY(B2+1,2)>5))
In cell A6 and copied down to A37 is this formula (formatted as m/d/yyyy):
=IF(NETWORKDAYS(B$2,EOMONTH(B$2,0))>COUNT(A$5:A5),A5+1+2*(WEEKDAY(A5+1,2)>5),"")
In cell B5 is this formula (formatted as m/d/yyyy):
=IF(AND(WEEKDAY(A5,2)<>{1,7}),B2,B2+1+(OR(WEEKDAY(B2+1,2)={1,7})))
Lastly, in cell B6 copied down to B37 is this formula (formatted as m/d/yyyy):
=IF(B5="","",IF(MONTH(B5+1+OR(WEEKDAY(B5+1,2)={1,7})*2)<>MONTH(B$2),"",B5+1+OR(WEEKDAY(B5+1,2)={1,7})*2))
Now the M-F and T-S dates will automatically update whenever you enter a new month. If you'd prefer to manually control it, you can just type in the date of a month in cell B1, like 8/1/2013. Then the formulas will take care of the rest and will bring in the appropriate dates from July.
You can use WORKDAY function for this:
Given that you already have 1st of the previous month in A1 put this formula in B1
=WORKDAY(A$1-1,1)
.....and this one in C1
=WORKDAY(A$1-2,1)+1
then in B2....
=IF(B1="","",IF(MONTH(WORKDAY(B1,1))=MONTH(A$1),WORKDAY(B1,1),""))
and in C2
=IF(B1="","",IF(MONTH(WORKDAY(B1-1,1)+1)=MONTH(A$1),WORKDAY(B1-1,1)+1,""))
and copy those latter two formulas down to row 23
When there are fewer than 23 MF days or TS days in the month the lowest cells will display as blanks.
If you want to exclude listed holiday dates you can also do that with WORKDAY