Microsoft Access and Microsoft Excel possess many similarities, which can make it difficult to decide which program you should use. For example, both programs can store large amounts of data, run powerful queries and analysis tools to slice and dice that data, and perform sophisticated calculations that return the data that you need.
However, each program has clear advantages, depending on the type of data that you are managing and what you want to do with that data. For example, if it is your goal to maintain data integrity in a format that can be accessed by multiple users, Access is your best choice, whereas Excel is better suited for complex numerical data that you want to analyze in depth.
In many cases, you can use both programs, employing each for the purpose to which it is best suited. In general, Access is better for managing data: helping you keep it organized, easy to search, and available to multiple simultaneous users. Excel is generally better for analyzing data: performing complex calculations, exploring possible outcomes, and producing high quality charts. If you use Access to store your data and Excel to analyze it, you can gain the benefits of both programs.
Before you decide which program to use, you may want to compare the benefits of each program, learn when it is best to use one or the other, and find out how to work with both programs to achieve exactly the results that you want.
Note: All Microsoft Office suites include Excel, but not all suites include Access.
Compare the benefits of each program
Choosing the right program is critical if you want to access and update your information with maximum performance and accuracy. To find out which program is best suited for the tasks that you want to accomplish, it may help to compare the benefits that each program has to offer regarding data storage, data analysis, multi-user collaboration, and security.
Flat versus relational data To help decide which program is best for storing your data, ask yourself the following question: is the data relational or not? Data that can be efficiently contained in a single table or worksheet is called flat or nonrelational data. For example, if you want to create a simple list of customers, with only one address and contact person for each customer, Excel might be the better choice. However, if you want to store a more complex customer list that contains billing and shipping addresses for each customer, or multiple contact persons for each customer, Access is the better solution.
In a relational database, you organize your information into multiple tables. In a well designed relational database, each table is flat and contains information about only one type of data. For example, if you create a customer database, the names of the customers should be stored in one table, whereas those customers' billing and shipping addresses should be stored in a separate table. Storing addresses separately from names is a good idea because each customer can have more than one address, and you want to be able to enter multiple addresses for each customer without having to re-enter the customer name for each address.
Local versus external data You can use Access to connect to data from a variety of external data sources so that you can view, query, and edit that data without having to import it. For example, Access provides commands to connect to existing data in a Microsoft SQL Server database, a dBASE file, or an Outlook folder, along with many other data sources. You can use Excel to connect to a wide variety of data sources including Access, SQL Server and Analysis Services databases, text and XML files, and ODBC and OLE DB data sources. However, you cannot edit the data to change the source data through the Excel user interface.
Both Access and Excel provide commands to connect to data in Windows SharePoint Services lists. However, Excel provides just a read-only connection to SharePoint lists; whereas Access lets you read from and write data to SharePoint lists.
Data integrity versus flexibility Unique identifiers help preserve the integrity of your data, and they ensure that no two rows (or records) contain exactly the same data. Unique identifiers also provide the quickest way to retrieve data when you search on or sort your data. In Access, you can use the AutoNumber data type to automatically generate a unique identifier for each record. You can then use these identifiers to relate records in one table to one or more records in another table.
The structure that Access applies to your data helps ensure data integrity. Access can require that new records in one table have an existing corresponding value in a different table, so that you cannot create "orphan" records. For example, you would not want to have an order that did not include customer information. Access can require that every new record in your Orders table has a corresponding customer value in your Customers table. This required correspondence of values is called referential integrity.
You can also impose your own constraints and rules to further ensure that data is entered correctly. Excel lets you enter data in a more free-form manner, but because Excel does not support relational data, it cannot support referential integrity. However, you can use the Data Validation command to control data entry in Excel.
Querying If you often have to view your data in a variety of ways, depending on changing conditions or events, Access might be the better choice for storing and working with your data. Access lets you use Structured Query Language (SQL) queries to quickly retrieve just the rows and columns of data that you want, whether the data is contained in one table or many tables. You can also use expressions in queries to create calculated fields. Using an expression in Access is similar to the process of using formulas in Excel to calculate values. You can also use Access queries to summarize data and to present aggregate values, such as sums, averages, and counts.
Modeling In Excel, you can use what-if analysis tools to forecast the outcome of a worksheet model. What-if analysis allows you to run different scenarios on your data, such as best case and worst case scenarios, and compare the resulting data of several scenarios in a summary report. No similar feature is available in Access.
Pivoting and charting In both programs, you can create PivotTable reports and PivotTable charts. However, Excel provides more advanced PivotTable reporting and charting features than Access does. If you plan to create extensive PivotTable reports or provide professional looking charts regularly, you should use PivotTable reporting or PivotTable charting in Excel instead of the same features in Access.
Both Access and Excel can be used in collaborative environments, such as Windows SharePoint Services and network file shares, but there are differences in the way the data can be accessed by multiple users.
Multiple user access to data Under normal operation, Access lets multiple users open a single database at the same time; this works well because Access locks only the data that is being edited; as a result, other users can edit different records without conflicts. In Excel, you can share a workbook with other users, but multi-user collaboration functions best when users work on the data in that workbook at different times instead of simultaneously. In effect, users of an Access database collaborate on a set of data, and users of an Excel workbook collaborate on a document.
Using Windows SharePoint Services for collaboration Both programs integrate with Microsoft Windows SharePoint Services technologies, such as SharePoint lists and document libraries.
Access provides a variety of ways to collaborate with multiple users on a SharePoint site. For example, you can upload a full database to a Windows SharePoint Services document library, make forms and reports available as Windows SharePoint Services views, and link a database to data that is stored in SharePoint lists.
Excel provides only one way to collaborate with multiple users on a SharePoint Services site. You can upload a workbook to Windows SharePoint Services document libraries, where individual users can check out the workbook to make changes, preventing other users from modifying the workbook at the same time. Users can edit a workbook without checking it out of the document library, in which case they must coordinate with other users to avoid data conflicts.
Using network folders for collaboration If you store an Access database in a shared network folder, multiple users can open the database and work with its data simultaneously. Individual records are locked when a user edits them. If you store an Excel workbook in a shared network folder, only one user can edit the workbook at a time. For viewing purposes, multiple users can open the workbook while another user is editing it but those users cannot make any changes to the data until the user who is editing the workbook closes it.
Both programs provide similar features — passwords and encryption — that can help you prevent data loss and protect your data from unauthorized access. However, there are some differences between Access and Excel in how user-level data protection works.
Data loss prevention In Access, your work is continuously saved so that, in the event of an unexpected failure, you are unlikely to lose much work (if any). However, because Access saves your work continuously, it is also possible for you to make changes that you later decide you did not want to commit. To ensure that you can restore your database to the way you want, you should create a backup copy of the database file on a schedule that fits your needs. You can recover an entire database from a backup, or you can restore just the table or other database object that you need. If you use a file system backup utility, you can also use a copy of a database from a file system backup to restore your data. In Excel, you can save AutoRecover information at set intervals while you update your data.
User-level data protection In Excel, you can remove critical or private data from view by hiding columns and rows of data, and then protect the whole worksheet to control user access to the hidden data. In addition to protecting a worksheet and its elements, you can also lock and unlock cells in a worksheet to prevent other users from unintentionally modifying important data.
File-level security At the file level, you can use encryption in both programs to prevent unauthorized users from seeing the data. You can also require that a password be entered to open a database file or workbook. In addition, you can help secure a database file or workbook by employing a digital signature.
Restricted access to data In Excel, you can specify user-based permissions to access the data or set read-only rights that prevent other users from making changes to the data that they have access to. Access does not provide user-level security features, but Access does support the user security model of any database server that it connects to. For example, if you link to a SharePoint list, Access heeds the user permissions for the SharePoint list. If you want to keep unauthorized users out of your Access data, you can encrypt your database by setting a password. Users must enter the password to read data from the database, even if they access it by using another program, such as Excel.
For more information about how to help protect your data, see Set or change Access 2003 user-level security in Access 2007 or higher and Protection and security in Excel.
When to use Access
In very general terms, Access is the best choice when you have to track and record data regularly, and then display, export, or print subsets of that data. Access forms provide a more convenient interface than an Excel worksheet for working with your data. You can use Access to automate frequently performed actions, and Access reports let you summarize data in printed or electronic form. Access provides more structure for your data; for example, you can control what types of data can be entered, what values can be entered, and you can specify how data in one table is related to data in other tables. This structure helps you ensure that only the correct types of data are entered.
Access stores data in tables that look much the same as worksheets — but Access tables are designed for complex querying in relation to data stored in other tables.
Use Access when you:
Anticipate many people working in the database and you want robust options that safely handle updates to your data, such as record locking and conflict resolution.
Anticipate the need to add more tables to a data set that originated as a flat or nonrelational table.
Want to run complex queries.
Want to produce a variety of reports or mailing labels.
Managing contacts You can manage your contacts and mailing addresses, and then create reports in Access or merge the data with Microsoft Office Word to print form letters, envelopes, or mailing labels.
Inventory and Asset tracking You can create an inventory of items in your home or business, and store photos or other related documents along with the data.
Order tracking You can enter information about products, customers, and orders, and then create reports that show sales by employee, region, time period, or some other value.
Task tracking You can track tasks for a group of people, and enter new tasks at the same time others are updating their existing tasks in the same database.
Organizing lending libraries You can use Access to store data about your books and CDs, and keep track of whom you have lent them to.
Event Planning You can enter information about event dates, locations, and participants, and then print schedules or summaries about the events.
Nutrition tracking Keep track of recipes, and log diet and exercise activities.
When to use Excel
As a spreadsheet program, Excel can store large amounts of data in workbooks that contain one or more worksheets. However, instead of serving as a database management system, such as Access, Excel is optimized for data analysis and calculation. You can use this flexible program to build models for analyzing data, write simple and complex formulas to perform calculation on that data, pivot the data any way that you want, and present data in a variety of professional looking charts.
Use Excel when you:
Require a flat or nonrelational view of your data instead of a relational database that uses multiple tables, and when your data is mostly numeric.
Frequently run calculations and statistical comparisons on your data.
Want to use PivotTable reports to view hierarchical data in a compact and flexible layout.
Plan to create charts regularly and want to use the new charting formats that are available in Excel.
Want to emphasize your data by using conditional formatting icons, data bars, and color scales.
Want to perform sophisticated what-if analysis operations on your data, such as statistical, engineering, and regression analysis.
Want to keep track of items in a simple list, either for personal use or for limited collaboration purposes.
Accounting You can use the powerful calculation features of Excel in many financial accounting statements — for example, a cash flow statement, income statement, or profit and loss statement.
Budgeting Whether your needs are personal or business related, you can create any type of budget in Excel — for example, a marketing budget plan, an event budget, or a retirement budget.
Billing and sales Excel is also useful for managing billing and sales data, and you can easily create the forms that you need — for example, sales invoices, packing slips, or purchase orders.
Reporting You can create various types of reports in Excel that reflect your data analysis or summarize your data — for example, reports that measure project performance, forecast data, summarize data, or present variance data.
Planning Excel is a great tool for creating professional plans or useful planners — for example, a weekly class plan, a marketing research plan, a year-end tax plan, or planners that help you plan weekly meals, parties, or vacations.
Tracking You can use Excel to keep track of data in a time sheet or list — for example, a time sheet for tracking work, or an inventory list that keeps track of equipment.
Using calendars Because of its grid-like nature, Excel lends itself well to creating any type of calendar — for example, an academic calendar to keep track of activities during the school year, or a fiscal year calendar to track business events and milestones.
For useful Excel templates in any one of these categories, see Templates for Excel on Microsoft Office Online.
Using Access and Excel together
There may be times that you would want to take advantage of the benefits that both programs have to offer. For example, you created a worksheet in Excel in which you can calculate and analyze the data, but the worksheet has become too large and complex, and many other users need to have access to the data. At this point, you might want to import or link your worksheet into Access and use it as a database instead of working with it in Excel. Or, perhaps you have data in an Access database for which you want to create some detailed Excel PivotTable reports and professional looking Excel charts.
No matter which program you use first, you can always transfer the data from one program to the other, where you can continue to work with it. With or without a data connection, you can bring data into Access from Excel (and vice versa) by copying, importing, or exporting it.
For more information about how to exchange data between both programs, see Move data from Excel to Access.