Formula in a Query in the Feild

gheyman

Well-known Member
Joined
Nov 14, 2005
Messages
2,332
Office Version
  1. 365
Platform
  1. Windows
In design mode you can enter a column and make it a formula (example: MONTH1_PD: IIf([PDIR Completed] Is Null,DateDiff("d",[PDIR Due Date],Now()),"") This is just an example

I'm need a rather complex formula

I need a formula that says IIF [PDIR Completed] >= [PDIR Due Date], "1","0" But that's the easy part, what I need the formula to do first is check the date in the [PDIR Due Date] field. If its in the month 3 months earlier than today, then do the above. So if today is 9/13/2019, I want to check to see if the [PDIR Due Date] is in June (between 6/1/2019 and 6/30/2019. that's the part I am struggling with. Any help is appreciated

PS I don't want to put a date criteria in the query for [PDIR Due Date]. I need a Dynamic formula that I do not have to change the query criteria every month.

Thanks
 

Excel Facts

What do {} around a formula in the formula bar mean?
{Formula} means the formula was entered using Ctrl+Shift+Enter signifying an old-style array formula.
You should be able to nest an IIF statement to do the second (two IIF functions nexted within each other), and use DateDiff to get the difference in months.

See here for some explanations and examples for nested IIF:
http://www.simply-access.com/Nested_IIF_Statement.html
https://support.office.com/en-us/article/iif-function-32436ecf-c629-48a3-9900-647539c764e3

I'll let you take a crack at it, and seehow you do. It should be pretty straightforward.
Post back and let us know if you figure it out or still need help!
 
Upvote 0
IIf statement to for the formula isn't difficult, its doing the first condition in the formula to see if the date is 3 months earlier (6/1/2019-6/30/2019) I thought maybe do some kind of EMonth(NOW,-4)+1 and Eomonth NOW(,3) but could get to a working formula
 
Upvote 0
Why can't you just do a DATEDIFF on those two dates, and see if the difference is 3 months?
If you choose months ("m") instead of days ("d"), you shouldn't need to worry about day of the month (as it will ignore days), i.e.
6/1/2019 - 9/30/2019
6/15/2019 - 9/30/2019
6/30/2019 - 9/1/2019
will all return 3.
 
Upvote 0
I see, so use the Date Diff as my condition (Iff DatedDiff=3)

I was going a much longer route IIF(([PDIR Due Date]>DateSerial(Year(Now()-90),Month(Now()-90),1)) And ([PDIR Due Date]<DateSerial(Year(Now()-90),Month(Now()-90)+1,0)),1,0)
 
Upvote 0
I see, so use the Date Diff as my condition (Iff DatedDiff=3)

I was going a much longer route IIF(([PDIR Due Date]>DateSerial(Year(Now()-90),Month(Now()-90),1)) And ([PDIR Due Date]
Yep, no need to covercomplicate it!:)
 
Upvote 0
Don't forget that if expressions start getting real hairy, you can call a function from a calculated query field as well.
 
Upvote 0

Forum statistics

Threads
1,213,487
Messages
6,113,943
Members
448,534
Latest member
benefuexx

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top