Using Excel as a Database?

Sunjinsak

Board Regular
Joined
Jul 13, 2011
Messages
151
Office Version
  1. 365
  2. 2019
  3. 2016
  4. 2013
Platform
  1. Windows
Hi,
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
I’ll try to explain this as best I can…
<o:p></o:p>
I need to create a database of individuals and their associated team names, location, positions, contact details etc using Excel 2003. Unfortunately we do not have access to any database programs in work so Excel is the only option.
<o:p></o:p>
What I need is fairly complex and I’m not even sure Excel is up to the job but here goes anyway…
<o:p></o:p>
Basically, an individual can be a member of one or more of a specific number of teams. Also, there are two possible geographic locations for these teams, then further location-specific info within the geographic locations (e.g. floor, wing, internal telephone extension and e-mail address).
<o:p></o:p>
I need to create one “control sheet” with everybody’s details on – sorted in alphabetical order – but then have these people appear on separate sheets within the same workbook based on their location and the different teams they’re a member of.
<o:p></o:p>
The geographic locations are LH and TR, and they could be a member of any of the following teams; IR, HS, ULR, BEC or PCW.
<o:p></o:p>
I’m hoping to have a page each for the two locations (LH and TR) and on each page have buttons linking to lists for the individual teams in that site (IR, HS, ULR, BEC and PCW).
<o:p></o:p>
Ideally I’d like to only have to update people’s details on the control sheet and have those changes reflected across the other pages (as there are 200+ people on the list).
<o:p></o:p>
For example:
Person A, based in LH, member of IR, HS and PCW
Person B, based in LH, member of IR, HS, ULR, BEC, PCW
Person C, based in TR, member of HS
<o:p></o:p>
Person A would show up on the IR, HS and PCW pages under the LH location
Person B would show up on the IR, HS, ULR, BEC and PCW pages under LH
Person C would only show up on the HS page under TR.
<o:p></o:p>
If Person C then becomes a member of BEC I can “set” BEC against their name in the control sheet and they will then show up on both the HS and BEC pages under TR automatically.
<o:p></o:p>
No one will show up on a list for a team of which they are not a member, or in a location they are not based.
<o:p></o:p>
Does that make sense? Is it possible to achieve in Excel? If so how do you suggest I go about it?
<o:p></o:p>
I can use VBA if necessary and – at least as far as I know – there are no restrictions in place in terms of Excel functionality.
<o:p></o:p>
The only restriction is that this whole “database” needs to be kept in one workbook.
<o:p></o:p>
Thanks.
 
Yes Excel 2003 on Windows XP SP3. We're running in a corporate environment as well so I haven't got administrative access for installing add-ins etc, if that matters.
 
Upvote 0

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.
Nope, the formula doesn't work as IFError is a 2007 > function, try:

Code:
=IF(ISERROR(INDEX(Sheet1!$A$5:$A$7,SMALL(IF(IF(Sheet1!$E$5:$E$7="IR",1,0)*IF(Sheet1!$D$5:$D$7="TR",1,0),ROW($B$2:$B$4)),ROW(1:1))-1)),"",INDEX(Sheet1!$A$5:$A$7,SMALL(IF(IF(Sheet1!$E$5:$E$7="IR",1,0)*IF(Sheet1!$D$5:$D$7="TR",1,0),ROW($B$2:$B$4)),ROW(1:1))-1))
 
Upvote 0
Wow! Now I'm even more confused :confused:

I'm no longer getting a #NAME? error but instead I'm getting a blank cell with a purple border around it.

I somehow have to attempt to get this formula to work and then make it work for 200+ people accross multiple pages with different criteria on each page. I think for that I would need to actually understand the formula as - IMHO - there's no substitute for true comprehension in such circumstances... and I clearly haven't got a clue lol :oops:

I think I may have to admit defeat on this one and go crawling back to de-volunteer my services :(

Thanks again for your time and effort Kyle - it really is appreciated.
 
Upvote 0
No problem, Array formulas aren't the easiest to get your head round ;)

I'd follow Paddy's suggestion and give his way a go :D
 
Upvote 0
Thanks Kyle.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
<o:p></o:p>
@PaddyD: I've looked into this and tried to follow the examples in the link you posted, plus another couple of similar tutorials I found, and I'm not 100% sure this approach will work in this case.<o:p></o:p>
<o:p></o:p>
Ideally, the workbook with all this data in will be placed on a shared network drive and accessed by any of the 200+ people that appear on it so they can find and contact each other as needed. It's essentially a glorified phone book – but it needs to be filtered by business area, location and team etc to make it easier to find who you want when you want.<o:p></o:p>
<o:p></o:p>
As far as I understand it (and obviously I may have grasped the wrong end of the stick here) every time there is a change in the information on the sheet containing all the data the query will have to be run again?<o:p></o:p>
<o:p></o:p>
Also there would have to be separate queries for each criteria?<o:p></o:p>
<o:p></o:p>
I'm confused again. It's becoming a theme this week!!<o:p></o:p>
<o:p></o:p>
I think I may have bitten off more than I can chew in all honesty. Sorry guys.<o:p></o:p>

I'll keep researching and trying though. Thanks again for everyone's input.
 
Upvote 0
Can't they just autofilter the main table?

I thought the same thing myself to begin with.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
Apparently though they want each team and location to have their own page so they can use space on the page to advertise “best business practice”, “operational delivery details” and [insert your own business-speak certified nonsense phrase here] to better target the workforce.
<o:p></o:p>
One big list with filters doesn’t afford them that luxury.
<o:p></o:p>
Apparently their IT contract doesn’t include such services and they haven’t got any in-house IT staff to do it so they seek volunteers from the workforce. As I’ve made a couple of (very basic) VBA forms to front some of our Excel tools they thought I’d be the perfect “volunteer” for the job!
<o:p></o:p>
I’m not sure they realise how much of a novice I am (but then neither did I until today :biggrin:)
<o:p></o:p>
I can’t realistically create static pages with everyone’s details on as I’d be entering the information multiple times and then having to change it multiple times every time someone joined or left a team/location etc - hence my lofty demands and sledgehammer/nut approach.
 
Upvote 0
Half-way house: if, in your source data, you were prepared to have a 'semi-normalised' data structure, you could do this with simple pivot tables.

You'd need the data set up like this:

Imagine Bob is in two locations and two teams - he'll need 4 entries in the table:

<TABLE style="WIDTH: 192pt; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width=256 border=0 x:str><COLGROUP><COL style="WIDTH: 48pt" span=4 width=64><TBODY><TR style="HEIGHT: 12.75pt" height=17><TD class=xl22 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 48pt; BORDER-BOTTOM: #e0dfe3; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" width=64 height=17>Name</TD><TD class=xl23 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: #e0dfe3; WIDTH: 48pt; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" width=64>Details</TD><TD class=xl23 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: #e0dfe3; WIDTH: 48pt; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" width=64>Location</TD><TD class=xl24 style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: #e0dfe3; WIDTH: 48pt; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" width=64>Team</TD></TR><TR style="HEIGHT: 12.75pt" height=17><TD class=xl25 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #e0dfe3; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height=17>Bob</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">Phone #</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">A</TD><TD class=xl26 style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" align=right x:num>1</TD></TR><TR style="HEIGHT: 12.75pt" height=17><TD class=xl25 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #e0dfe3; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height=17>Bob</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">Phone #</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">A</TD><TD class=xl26 style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" align=right x:num>2</TD></TR><TR style="HEIGHT: 12.75pt" height=17><TD class=xl25 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #e0dfe3; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height=17>Bob</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">Phone #</TD><TD style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent">B</TD><TD class=xl26 style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: #e0dfe3; BACKGROUND-COLOR: transparent" align=right x:num>2</TD></TR><TR style="HEIGHT: 12.75pt" height=17><TD class=xl27 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height=17>Bob</TD><TD class=xl28 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">Phone #</TD><TD class=xl28 style="BORDER-RIGHT: #e0dfe3; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">B</TD><TD class=xl29 style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #e0dfe3; BORDER-LEFT: #e0dfe3; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align=right x:num>3</TD></TR></TBODY></TABLE>

..bit of overhead on the data side perhaps, but makes using the info trivial - you just need a pivot for each location (ie location as a page field), teams, person & details in the row, count of something in the data area, get rid of any summary stats & voila.
 
Last edited:
Upvote 0
haha that sounds like business bs to me ;)

Stick a pivot table on every page and with the data in the columns fields and nothing in the data field, then hide all the subtotals. This works well on 2003, but doesn't work well on later versions as ms made a lot of changes to pivot tables. You can code them to refresh on sheet change :)
 
Upvote 0

Forum statistics

Threads
1,223,236
Messages
6,170,915
Members
452,366
Latest member
TePunaBloke

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