It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I recently tookover a non-profit program for senior citizens called "Meals on Wheels", perhaps your city has one too.
Currently it is a very cumbersome routine of manually checking tags for each person who gets the meals and seeing if they can't eat certain things and what days of the week they get delivery.
I would love to computerize this in order to eliminate not only mistakes but make it run faster and smoother.
The tags contain names, address, foods they can't eat and days of the week.
Is there a way to computerize this? We have a meal menu run on excel if that helps.
I was advised to try using MS Access, but, I have never used it before, would this be the program we would need to do this?
Thanks guys
Access might be useful if you have a large number of people to cater for, or if you are constantly entering new information. It sounds as if Excel might be more useful in your case. A couple of things that might help you are conditional formatting and filtering.
This will highlight a client if they are due for a delivery today:
Create a spreasheet with people's names in column A starting on row 2 (headings are optional in row 1, but the formula below starts with row 2 anyway), put the days they have delivery in column B with the full day name written out like this Sunday, Wednesay, Friday or whatever. In the remaining column you could put addresses, foods, etc
Click on cell A2 and drag to select all the customers' names, the days, addresses, etc.
Click on Conditional Formatting at the top of the Excel window.
Click on New Rule
Selct Use a Formula to determine which cells to format
In the box labelled Format values where this formula is true copy and paste this formula:
=COUNTIF($B2,"*"&TEXT(WEEKDAY(TODAY(),1),"dddd")&"*")>0
Still in the dialog box, click the Format button, select the Fill tab and select a bright colour. Click OK to confirm the colour, then OK to save the new rule, then OK to apply the conditional format.
(This formula gets the date with TODAY(), converts it to the WEEKDAY() number (using Sunday as day 1), converts the day number to TEXT with the format "dddd" (Sunday instead of "ddd", which is Sun), COUNTIF() will only count the cell if it contains the day (giving 1 or 0), if it contains the day then '1 is greater than 0' becomes TRUE and the cell is conditionally formatted.)
If you want the formula to work for other dates instead of today you could replace the TODAY() part with a cell reference, say G1, then type the date you want in cell G1:
=COUNTIF($B3,"*"&TEXT(WEEKDAY($G$1,1),"dddd")&"*")>0
Then type a date like 22/5/12 in cell G1
If clients get deliveries on the same day every week, then to see who gets meals on Thursdays you could type Thursday in G1 & shorten the formula to:
=COUNTIF($B3,"*"&$G$1&"*")>0
To create a filter that displays only clients due that day instead of just highlighting them:
Create a spreadsheet laid out as before (starting in row 2, with the client's Delivery Days in column B - Monday, Thursday, Saturday) and, instead of Conditional Formatting, paste the formula into a cell in row 2 and use autofill by hovering the mouse over the bottom-right of the cell with the formula so the cursor changes to a + and double-clicking. You should get a column of TRUE and FALSE values, as long as you don't have any empty rows. (If you need empty rows, click and drag the + down instead.)
Go to the Data tab at the top of the Excel window and select the Filter button. Some down arrows should appear at the top of your columns. Select the down arrow above the TRUE/FALSE column and select only the TRUE checkbox. To display all clients again, select the same down arrow again and select Select All. Any time you add a new client to the spreadsheet, hover over a cell in the formula column and double-click the + autofill again to add the formula to the new client's row.
You could use both methods together to highlight and filter without a problem
There are other things that could help, but it depends on how you operate. You could write a column of 'todays ingredients' and use Conditional Formatting to highlight someone in red when an ingredient matches something they cannot eat. This could be risky if someone doesn't eat fish and you put haddock in the ingredients list because they will not match, of course!
If you want free Excel masterclasses I recommend YouTube's
Bill Jelen - 'Mr Excel' and ExcelIsFun
Related
I am building a scheduling tool for my company. The structure of my Google Sheets document is a summary page with the entire schedule laid out for each employee in each department. Then, each employee gets their own sheet. In each employee sheets I have a section for Sunday, Monday, and Tuesday (the days each employee works). In each section by day I have a column indicating the hours they are on the clock, and then a column for each department. I have placed a checkbox into each cell and can activate the check box to indicate that this employee will be working in that department at that corresponding time. However, there are times when an employee is in a department more than once per day, meaning that the column with the checkboxes has, for example, checks in the cells corresponding to 7am-10am and 2pm-5pm, with unchecked boxes in the cells corresponding to 11am-1pm.
I have query functions that can pull the start and end times in that department if the employee is only in that department once per day. The output, after some concatenation, is something like "7AM-2PM".
=QUERY(A4:C17, "Select MIN(A) where (C=TRUE)")
=QUERY(A4:C17, "Select MAX(A) where (C=TRUE)")
However, I cannot think of a way to discriminate multiple start and end times. Using the above example, I'd like my output to be "7AM-10AM" and "2PM-5PM". These can be in separate cells or the same cell, doesn't make a difference to me. There can also be formulas in several cells if a subsequent formula needs to operate off a previous one.
I hope this makes sense in the way I have described it. I have been struggling for weeks trying to come up with something and am running out of time. Thanks for any and all help!
try:
=ARRAYFORMULA(IFNA(TEXTJOIN(CHAR(10), 1,
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({FALSE; B4:B16}=FALSE), 1, )=1), "hh:mm\ - ")&
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({B5:B17; FALSE}=FALSE), 1, )=1), "hh:mm"))))
I am looking for some help regarding an IF function on an Excel document.
Basically if the Date Listed cell is dated over 1 month ago (eg: Date Listed 6-Aug but today is 6-Sep) and the Date Sold cell is blank, then I would like the Mark Down cell to say 'MARK DOWN', which at the moment it does but it is only 10-Aug today.
If the Date Listed cell and the Date Sold cell both contain dates I would like the Mark Down cell to say 'OK'.
So far I have this written:
=IF(AND(DATE(YEAR(G2),MONTH(G2),DAY(G2)), ISBLANK(H2)),"MARK DOWN","OK")
I know I'm not far off but I need help sorting out the last parts..
Bonus if you can help me add a highlighted cell formatting to it :)!
[EXAMPLE IMAGE]
I think this should work
IF(AND((TODAY()-g2)>31,ISBLANK(H2)),"Mark Down","OK")
Apply conditional formatting on all the cells in MARK DOWN column which are equal to OK.
After that write this simple formula to check the condition.
=IF(AND(ISNUMBER(G2),ISNUMBER(H2)),"OK","MARK DOWN")
Update: if you use EDATE function everything gets simplified as this function takes care of exact day differences
so the whole solution is :
=IF(AND(EDATE((G2),1)=EDATE(NOW(),0),ISBLANK(H2)),"MarkDown","")
Let me know if you have any question on how this formula works.
UPDATED screenshot after attempting #Dude_Scott's suggestion:
Desired output of data is in the blue table.
Our data includes users who have registered between 1989-2016.
All have registered at least once.
Some register every year and some skip years.
Our question is for each year, find how many years previous users registered.
We want results to be 0yr, 1yr, 2yr, 3yr, etc., for each year.
Arrays are working correctly.
I've organized the data structure in Excel this way:
1) UserID All Years
For year 1989, result is 0, since it was the first year of data collection.
For year 1990, this formula returns the expected count:
=COUNT(IF($B$2:$B$11613=1989,1/COUNTIFS($A$2:$A$11613,$A$2:$A$11613,$B$2:$B$11613,1989)))
Beginning with year 1991 is where I am tripped up: I can't find for multiple years.
This formula is not working:
=COUNT(IF(AND(OR($B$2:$B$11613=1989,1990,1/COUNTIFS($A$2:$A$11613,$A$2:$A$11613,$B$2:$B$11613,1989,1990)))))
Where do I argue "COUNTIF 0 yr, 1 yr, 2 yr", etc. Thanks in advance. --f66
Since your using COUNTIF, I'm assuming you can use SUMPRODUCT also. In the below screen shot I am using this formula
=SUMPRODUCT(($A$2:$A$11=$D3)*($B$2:$B$11<=F$2))&" yr"
Without a sample of the workbook its a little difficult to determine what the output of your data should look like, but give it a go.
Side note, I would suggest updating the User ID and Years into a table format and giving it a named range, so you don't iterate though tens of thousands of lines with the array formula.
I may be reading this all wrong, but this seems to be a straightforward use case for a pivot table!
Select your data range
Set USERID as your row headings
Set YEARS as your column headings
Set count of USERID as your values
I do not use excel anymore, but below is a link to output for doing this with test data on google sheets.
Imagine a one-table query that accepts a year (range) as a parameter and then yields a dataset grouped by State, City, and Month, with a count of UFOs, if any, for each month.
Tie that dataset to an SSRS Tablix, with a crosstab layout:
The Row Groups are State, City;
The Column Group is the Month (Jan through Dec); and
The row-column intersections are the # of UFOs sighted, if any.
PROBLEM:
If I run the (parameterized) report for one location, even one with few sightings, all goes well: I see columns only for months with sightings.
However, if I report more than one location (say, "Albany," with daily sightings, and "Troy," with October-only), Troy's grouping will come out ugly: If reported alone, just the October column would show, but, now, October along with 11 columns of "#Error" for the month name and a "0" for UFO count appear.
I suspect that one solution may involve some 0- or NULL-fill of missing-month data for Troy and other cities (How?), but is there some other way, via the Tablix widget, to achieve the desired result?
I don't understand what you're doing wrong but the matrix usually works with filling the headers correctly and leaving blanks where there is no data for a single group.
It might help if you show your design view.
Design View:
Report View:
Many of the users don't have data for previous months but at least one does so the month is displayed in the header. The blanks are where there is no data for that month/user combo.
I don't see why your report isn't working like this. If I only selected one user, then only the months that user had will be displayed.
I've been scratching my head for a few hours with a couple of very time consuming issues.
I have a sumproduct formula totalling the number of bookings within a month and a year, and another doing the same but totalling the profit instead of the number of bookings.
the formula for each is below:
Bookings
=SUMPRODUCT(--(BAU!$X$3:$X$10000<>""),--(MONTH(BAU!$X$3:$X$10000)=1),--(YEAR(BAU!$X$3:$X$10000)=2013))
Profit
=SUMPRODUCT(--IF(ISNUMBER(BAU!$AA$3:$AA$10000),BAU!$AA$3:$AA$10000),--(MONTH(BAU!$X$3:$X$10000)=1),--(YEAR(BAU!$X$3:$X$10000)=2013))
two issues I have, firstly, I have about 300 Cells I with such formulas, these cover clients for each month and each year, activating these with control shift enter takes a LONG time individually, When I attempt to activate all of them at once, the month and year criteria in the formulas e.g. (=1 & =2013) is duplicated across every cell, so instead of searching for each month, every cells only queries against =1 (january), can this be avoided?
Secondly, after manually control shift entering EVERY cell and saving/closing the workbook, the #VALUE error is in every cell when I reopen it, meaning I have to repear the whole CSE process.
Any help would be greatly appreciated, sorry if I've not made much sense, I tried my best to.
If looks like this is what you want
=COUNTIFS(BAU!$X$3:$X$10000,">=1/1/2013",BAU!$X$3:$X$10000,"<=1/31/2013")
And
=SUMIFS(BAU!$AA$3:$AA$10000,BAU!$X$3:$X$10000,">=1/1/2013",BAU!$X$3:$X$10000,"<=1/31/2013")
you do not need to enter these as arrays just as normal formulas.
If you need to Change the dates ever I would do something like the following:
In A1 (Or what ever cell you'd like to enter the date in) Right click the cell and click Format Cells..., Then under the "Number" Tab (usually the tab it will open too) click on Custom. Then enter "m/y" Where it says Type:.
From there you enter a month and a year into the cell.
Then modify the formulas to this
=COUNTIFS(BAU!$X$3:$X$10000,">="&A1,BAU!$X$3:$X$10000,"<="&A1+30)
And
=SUMIFS(BAU!$AA$3:$AA$10000,BAU!$X$3:$X$10000,">="&A1,BAU!$X$3:$X$10000,"<="&A1+30)
Replace A1 With the cell you choose to enter the date in. Enter the date as "1/13" for this example.