I looked through everything re conditional formatting, but nothing touched on my issue.
I am trying to highlight cells in a column based on the date in another cell, as well as the text in the cell in question. I have been able to do both parts separately as basic conditional formatting, but not sure how to have it all work as one using a formula.
A1 has the text and
D1 has the date. If the date is today and the text is either 2 or 3, I want the cell to be coloured using conditional formatting.
Here is the formula I tried for conditional formatting, but with no result:-
=IF(AND($D1=TODAY(), OR(A1="3", A1="2")))
Basically, if the date in
D1 is today and
A1 is either a 2 or 3, then apply the conditional formatting. Seems simple, but I can only get it working as separate parts
Thanks in advance
=IF(AND($D1=TODAY(), OR($A$1=3, $A$1=2)),TRUE,FALSE)
=AND($D1=TODAY(), OR($A$1=3, $A$1=2))
Just ‘Imagine’ IF in Conditional Formatting
- Every date in Excel is actually a number, e.g. for
43492. You can format a cell containing a date, as number, and see
- When there is time with a date, there is additionally a
decimal part, e.g. for
27.01.2019 14:52:17the number would be
43492.6196, which is different than
Therefore you have to use the
INT function to round the number down to the nearest integer resulting in the following conditional formatting formula:
used e.g. for cell
- So the logic behind the formula could be interpreted: (just imagine
IFthe rounded down value of cell
D1is equal to
TODAY‘s value (date)
ANDthe value in cell
FA_Win_2, DO apply the formatting (, or else don’t).
I’m not in front a computer, but you can try this:
=AND(TEXT($B2,"dd/mm/yyyy")=TEXT(TODAY(),"dd/mm/yyyy"), OR(A1="FA_Win_3", A1="FA_Win_2"))
If you have trouble with users pasting over the cells and messing up with the conditional format, you can add this soubroutine to the worksheet.
To add it:
– Press F11
– Double click the sheet name
– Copy paste the code
– Read the comments inside the code and adapt it to fit your needs
– Save the workbook as macro-enabled
Private Sub Worksheet_Change(ByVal Target As Range) ' This method has a drawback and is that the undo feature in this sheet no longer works (if you can live with it, no problem) ' Here is an option to bring it back: https://www.jkp-ads.com/Articles/UndoWithVBA04.asp ' Define variables Dim targetRange As Range Dim formulaEval As String ' Define the Range where they paste the date. This is the range that receives the conditional format Set targetRange = Range("B2:B70") ' Define the formula evaluated by the conditional format (replace ; for ,) formulaEval = "=AND(TEXT(" B2 ",""dd/mm/yyyy"")=TEXT(TODAY(),""dd/mm/yyyy""), OR(A" 2 "=""FA_Win_3"", A" 2 "=""FA_Win_2""))" If Not Intersect(Target, targetRange) Is Nothing Then With Target .FormatConditions.Add Type:=xlExpression, Formula1:=formulaEval .FormatConditions(.FormatConditions.Count).SetFirstPriority ' This is where the format applied is defined (you can record a macro and replace the code here) With .FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = RGB(0, 176, 80) .TintAndShade = 0 .Font.Color = RGB(255, 255, 255) .Font.Bold = True End With .FormatConditions(1).StopIfTrue = False End With End If End Sub
Please mark this answer if it helped you