Conditional format to highlight date in date range - excel

I have set as dates in row A all the Sundays of the year from A7-A60. I would like a conditional format so the current Sunday will be always highlighted whenever one opens that excel file.
I've tried setting that with WEEKDAY but could get it working.

I assume that by "current Sunday" you mean the one just passed, so on Saturday 3rd Jan the previous Sunday (28th December 2014) will be highlighted.....but during the period from 4th January to 10th January 2015 the Sunday 4th January 2015 date will be highlighted ...and so on through the year
To do that select the whole range and use this formula in conditional formatting:
=A7=TODAY()-WEEKDAY(TODAY())+1
That works because the formula =TODAY()-WEEKDAY(TODAY())+1 always gives you the previous Sunday, so it's sufficient to see if A7 matches that date.
As your range only contains Sundays this version will also work in this case
=(A7<=TODAY())*(A7>TODAY()-7)
.....because that will highlight any date in the current week

Related

Excel Conditional Formatting By Day

Hello I need to add conditional formatting to a date field to determine whether the inputted date is a Sunday, if this is not the case, I need the field to be highlighted, any advise?
Something like that
=IF(WEEKDAY(YOUR_DATE;2)=7;"PAINT";"NOT PAINT")
Use the formula WEEKDAY to return the day of week,
WEEKDAY("YOUR_DATE";2) this 2 determine the format of your week in my case week starts on Monday so monday is 1 and Sunday is 7 that's why I put "2"

How to get Excel to find the next Tuesday when the date in a cell is Monday, Friday, Saturday, or Sunday

I'm setting up a spreadsheet to calculate dates based off of one trigger date. If one of the subsequent dates is not a Tuesday, Wednesday, or Thursday, I need Excel to find the date of the next Tuesday. (In my office, certain meetings can only happen Tuesday through Thursday, so if the calculated date falls on a Monday or a Friday, I'd like Excel to give me the next Tuesday.)
I'm trying to use IF and WEEKDAY together, and I'm pretty sure something is wrong with how I wrote the "or" logic. Here's what I have:
=IF(WEEKDAY(D9,1)=NOT(OR(3,4,5)),D9+7-WEEKDAY(D9+7-3),D9)
But the formula returns false every time and gives me the date in the cell itself.
With a date in A1, use:
=CHOOSE(WEEKDAY(A1),A1+2,A1+1,A1,A1,A1,A1+4,A1+3)
(almost as easy as a VLOOKUP())
=IF(MOD(A1-1,7)>2,A1+2-MOD(A1-1,7)+7,A1+2-MOD(A1-1,7))
A1 is your trigger date

Excel Formula: Get Year to Date Workday Count in Current Month

I need a formula that gives me the YTD workday count for each month.
For example:
If today is 8/6/2015 - the workday count should be 17 (excluding weekends)
If today is 9/3/2015- the workday count should be 18 (excluding weekend and 1 holiday)
Thanks,
This is just the native Excel function:
=NETWORKDAYS(TODAY(),DATE(YEAR(TODAY()),MONTH(TODAY()),31))
Note that you will need to choose a set of holidays to exclude from the working days function, and define that as a Name in the Formula Ribbon -> Name Manager. ie:
=NETWORKDAYS(TODAY(),DATE(YEAR(TODAY()),MONTH(TODAY()),31),CustomHolidays)
Where CustomHolidays has been defined as a name which means:
={02/14/2015;03/15/2015;...}
You need NETWORKDAYS between the first of the month, and the last of the month.
Assuming your date is in A2, first of the month is simple, A2-DAY(A2)+1. Last of the month is harder as it could be 28, 29, 30 or 31. Youy can use EOMONTH to get this though, EOMONTH(A2,0)
Put it all together
=NETWORKDAYS(A2-DAY(A2)+1,EOMONTH(A2,0))
As has been commented, you can also include holidays if you wish to exclude these.

Access/Excel VBA: Getting the two dates corresponding to last week

I think I can do this with a loop but since I am using this in conjunction with MS Access I wondered if there was a quick way to do this.
Right now it is April 3rd, 2014. I want to be able to return the dates corresponding to the Sunday and Saturday that bookend the previous week.
So for example that would be March 23rd (Sunday) through March 29th (Saturday) last week.
In Excel formulae:
=TODAY()-WEEKDAY(TODAY())-6 'Sunday of last week
=TODAY()-WEEKDAY(TODAY()) 'Saturday of last week
=TODAY()-WEEKDAY(TODAY())+6 'Friday of current week
In VBA:
Date()-Weekday(Date())-6 'Sunday of last week
Date()-Weekday(Date()) 'Saturday of last week
Date()-Weekday(Date())+6 'Friday of current week
Previous Sunday:
=A1-WEEKDAY(A1)-6
Saturday
=A1-WEEKDAY(A1)

Excel function to determine the last Friday in a month

I'm looking for an Excel function to return the last Friday in a month for a given date.
ie: Any date in the month as input will give the date of the last Friday as output.
14-July-09 should give 31-July-09
7-March-05 should give 35-March-09
Building on #Toomas answer above, I had to make some amendments for Excel 2007, but came up with the following:
=EOMONTH(A1,0)-MOD(WEEKDAY(EOMONTH(A1,0))+1,7)
Which is assuming that the WEEKDAY returned for Friday is 6 and then applying a shifted MOD 7 to achieve the correct day.
Try this formula:
=IF(WEEKDAY(EOMONTH(A5;0);16)=7;EOMONTH(A5;0);EOMONTH(A5;0)-WEEKDAY(EOMONTH(A5;0);16))
Enter to A5 date value of which you are looking for the last Friday in a month.
The following formula achives this for a date in cell A1:
=DATE(YEAR(A1),MONTH(A1)+1,0)+MOD(-WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,0),2)-2,-7)
I came here looking for the formula to get the most recent Friday in the past which turned out to be =TODAY()-WEEKDAY(TODAY())-1
In case anyone needs to do this for next year (or future years):
=EOMONTH(DATE(YEAR(TODAY())+1,MONTH(TODAY()),1),0)-MOD(WEEKDAY(EOMONTH(DATE(YEAR(TODAY())+1,MONTH(TODAY()),1),0))+1,7)
Here's one that will show the last Friday of the current month.
And if the date is in the past it will show you next month's last Friday.
And if it's December right now, it'll show you next year's January's Friday.
=IF(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0)+MOD(-WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0),2)-2,-7)>=TODAY(), DATE(IF(MONTH(TODAY())+1>12,YEAR(TODAY()+1),YEAR(TODAY())),MONTH(TODAY())+1,0)+MOD(-WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0),2)-2,-7), DATE(IF(MONTH(TODAY())=12,YEAR(TODAY())+1,YEAR(TODAY())),MONTH(IF(MONTH(TODAY())=12,1,MONTH(TODAY())))+1,0)+MOD(-WEEKDAY(DATE(IF(MONTH(TODAY())=12,YEAR(TODAY())+1,YEAR(TODAY())),MONTH(IF(MONTH(TODAY())=12,1,MONTH(TODAY())))+1,0),2)-2,-7))
You can try
=DATE(YEAR(A1),MONTH(A1)+1,1)-1+CHOOSE(WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1),-2,-3,-4,-5,-6,0,-1)
to find the last friday of the month. Assumes A1 has the date.
Hey the formatting is outdated so ill show what I came up with:
=EOMONTH(A1;A2)-(WEEKDAY(EOMONTH(A1;A2);15)-1)
[A1] is an interval of months later, from [A2] the stating date, that the result date should be.
We have some equipment that need maintenance last Friday of the month, an number of months since last Maintenace.
EOMONTH(A1;A2): we find the date, of the last day, of target month.
WEEKDAY([Date];15): assign a number for day of the week.
[15] makes Friday the value 1 and Thursday the value 7.
so if the last day of the month is Friday, the calculation would be:
[Date]-(1-1) = [Date] therefor the date won't change.
[Date] in my original code example, is the last day of the target month: [A2] date + [A1] number of months later.
if the last day is Wednesday, we want it to subtract 5 days: [Date]-(6-1) = [Date]-5
As a sidenote:
=WORKDAY(A2+1;-1;[hollydays])
will round a date back to the earlier Workday if it lands in a weekend or holyday
[holyday] can be an area of cells with predefined dates to skip eg: [$C$1:$C$20].
$ is so the area won't change when you extend the function to other cells.
if you don't care about holydays use =WORKDAY(A2+1;-1)
Awesome! Basically, like trying to find the first or second Monday of the month,
=DATE(TheYear,5,1)+CHOOSE(WEEKDAY(DATE(TheYear,5,1)),1,0,6,5,4,3,2)
which returns the first Monday of the month, in this case May
but to find the last weekday of the month, in the formula, you start with the next month and subtract
=DATE(TheYear,6,1)-1+CHOOSE(WEEKDAY(DATE(TheYear,6,1)),-6,-5,-4,-3,-2,-1,0)
which returns the last Monday of May
I have a cell that I named TheYear, in which I enter the year I'm working with, but you can point to whatever cell you have the year you want (e.g. A1).
I don't know why the pointers to the days of the week are in reverse order but to find the day (e.g. Tuesday instead of Monday), change the order of those numbers but they have to stay in order. For example, 4th Thursday of November:
=DATE(TheYear,11,1)+21+CHOOSE(WEEKDAY(DATE(TheYear,11,1)),4,3,2,1,0,6,5)
=EOMONTH(TODAY(),0)-WEEKDAY(EOMONTH(TODAY(),0))-1
This gives the last Friday of this month. You can replace both instances of Today() with any date you like or a cell reference that has a date to get the last Friday in any other month.
=WORKDAY.INTL((EOMONTH(A4,0)+1),-1,"1111011")

Resources