Eisenhower Matrix Google Sheets

Google Sheets offers hundreds ofbuilt-in functions likeAVERAGE,SUM, andVLOOKUP. When these aren’tenough for your needs, you can use Google Apps Script to write custom functions— say, to convert meters to miles or fetchlive content from the Internet — then use themin Google Sheets just like a built-in function.

Strategy Excel Spreadsheets and Google Sheets. Eisenhower Matrix Worksheet in Excel 4.0. SMART Goals Worksheet in Excel 4.0. Rated 5.0 out of 5. The Eisenhower Matrix is the best way to help with decision-making by practicing task prioritization. Both urgency and importance are the main elements of this template. Dwight David Eisenhower – an American army general and the 34th president of the United States, has devised this system to manage work pressure. Why practice this technique? Eisenhower Matrix Google Slides Template Diagrams For Presentations Great collection of Eisenhower Matrix Google Slides Template and Slides to explain Eisenhower’s decision-making methods and help to measure the priority of tasks based upon their urgency and importance. What is the Eisenhower Matrix? There was a problem trying to update the data from Google Sheets. Request an update to see if it fixes the problem or save your workbook again. Make this day count — using our free Eisenhower Matrix canvas template PDF. Have us send you the download link followed by an exclusive email course on how you can make best use of the Eisenhower Matrix here: 100% free for personal use and ready to print.

Getting started

Custom functions are created using standard JavaScript. If you're new toJavaScript, Codecademy offers agreat course for beginners.(Note: this course wasn't developed by and isn't associated with Google.)

Here's a simple custom function, named DOUBLE, which multiplies aninput value by 2:

If you don't know how to write JavaScript and don't have time to learn,check the add-on store tosee whether someone else has already built the custom function you need.

Creating a custom function

To write a custom function:

  1. Createor open a spreadsheet in Google Sheets.
  2. Select the menu item Tools > Script editor.
  3. Delete any code in the script editor. For the DOUBLE function above, simplycopy and paste the code into the script editor.
  4. At the top, click Save .

Now you can use the custom function.

Getting a custom function from the Google Workspace Marketplace

The Google Workspace Marketplace offers several customfunctions asadd-ons for Google Sheets.To use or explore these add-ons:

  1. Createor open a spreadsheet in Google Sheets.
  2. At the top, click Add-ons > Get add-ons.
  3. Once the Google Workspace Marketplaceopens, click the search box in the top right corner.
  4. Type 'custom function' and press Enter.
  5. If you find a custom function add-on you're interested in, click Installto install it.
  6. A dialog box might tell you that the add-on requires authorization. If so,read the notice carefully, then click Allow.
  7. The add-on becomes available in the spreadsheet. To use the add-on in adifferent spreadsheet, open the other spreadsheet and at the top, clickAdd-ons > Manage add-ons. Find the add-on you want to use and clickOptions > Use in thisdocument.

Using a custom function

Once you've written a custom function or installed one from theGoogle Workspace Marketplace, it's as easy to use as abuilt-in function:

  1. Click the cell where you want to use the function.
  2. Type an equals sign (=) followed by the function name and any input value —for example, =DOUBLE(A1) — and press Enter.
  3. The cell will momentarily display Loading..., then return the result.

Guidelines for custom functions

Before writing your own custom function, there are a few guidelines to know.


In addition to the standard conventions for naming JavaScript functions, beaware of the following:

  • The name of a custom function must be distinct from the names ofbuilt-in functions likeSUM().
  • The name of a custom function cannot end with an underscore (_), whichdenotes a private function in Apps Script.
  • The name of a custom function must be declared with the syntaxfunction myFunction(), not var myFunction = new Function().
  • Capitalization does not matter, although the names of spreadsheet functionsare traditionally uppercase.


Like a built-in function, a custom function can take arguments as input values:

  • If you call your function with a reference to a single cell as an argument(like =DOUBLE(A1)), the argument will be the value of the cell.
  • If you call your function with a reference to a range of cells as anargument (like =DOUBLE(A1:B10)), the argument will be a two-dimensionalarray of the cells' values. For example, in the screenshot below, thearguments in =DOUBLE(A1:B2) are interpreted by Apps Script asdouble([[1,3],[2,4]]). Note that the sample code for DOUBLEfrom above would need to bemodified to accept an array as input.

  • Custom function arguments must bedeterministic. Thatis, built-in spreadsheet functions that return a different result each timethey calculate — such as NOW() or RAND() — are not allowed as argumentsto a custom function. If a custom function tries to return a value based onone of these volatile built-in functions, it will display Loading...indefinitely.

Return values

Every custom function must return a value to display, such that:

  • If a custom function returns a value, the value displays in the cellthe function was called from.
  • If a custom function returns a two-dimensional array of values, the valuesoverflow into adjacent cells as long as those cells are empty. If this wouldcause the array to overwrite existing cell contents, the custom function willthrow an error instead. For an example, see the section onoptimizing custom functions.
  • A custom function cannot affect cells other than those it returns a value to.In other words, a custom function cannot edit arbitrary cells, only thecells it is called from and their adjacent cells. To edit arbitrary cells,use a custom menu to run a function instead.
  • A custom function call must return within 30 seconds. If it does not, thecell will display an error: Internal error executing the custom function.

Data types

Google Sheets stores data indifferent formats depending onthe nature of the data. When these values are used in custom functions, AppsScript treats them as theappropriate data type in JavaScript.These are the most common areas of confusion:

  • Times and dates in Sheets becomeDate objects in Apps Script. If the spreadsheet and thescript use different time zones (a rare problem), the custom function willneed to compensate.
  • Duration values in Sheets also become Date objects, butworking with them can be complicated.
  • Percentage values in Sheets become decimal numbers in Apps Script. Forexample, a cell with a value of 10% becomes 0.1 in Apps Script.


Google Sheets supports autocomplete for custom functions much like forbuilt-in functions. As youtype a function name in a cell, you will see a list of built-in and customfunctions that matches what you enter.

Custom functions will appear in this list if their script includes aJsDoc@customfunction tag, as in the DOUBLE() example below.


Using Apps Script services

Custom functions can call certainApps Script services to perform more complextasks. For example, a custom function can call theLanguage service to translate an Englishphrase into Spanish.

Unlike most other types of Apps Scripts, custom functions never ask users toauthorize access to personal data. Consequently, they can only call servicesthat do not have access to personal data, specifically the following:

Supported servicesNotes
CacheWorks, but not particularly useful in custom functions
HTMLCan generate HTML, but cannot display it (rarely useful)
LockWorks, but not particularly useful in custom functions
MapsCan calculate directions, but not display maps
SpreadsheetRead only (can use most get*() methods, but not set*()).
Cannot open other spreadsheets (SpreadsheetApp.openById() or SpreadsheetApp.openByUrl()).
URL Fetch

If your custom function throws the error message You do not have permission tocall X service., the service requires user authorization and thus cannot beused in a custom function.

To use a service other than those listed above, create acustom menu that runs an Apps Script functioninstead of writing a custom function. A function that is triggered from a menuwill ask the user for authorization if necessary and can consequently use allApps Script services.


Custom functions start out bound to thespreadsheet they were created in. This means that a custom function written inone spreadsheet can't be used in other spreadsheets unless you use one of thefollowing methods:

  • Click Tools > Script editor to open the script editor, then copy thescript text from the original spreadsheet and paste it into the script editorof another spreadsheet.
  • Make a copy of the spreadsheet that contains the custom function by clickingFile > Make a copy. When a spreadsheet is copied, any scripts attached toit are copied as well. Anyone who has access to the spreadsheet can copy thescript. (Collaborators who have only view access cannot open the script editorin the original spreadsheet. However, when they make a copy, they become theowner of the copy and can see the script.)
  • Publish the script as a Google Sheets add-on.
All container-boundscripts have the same access lists as their containers. This means thatanyone who has permission to edit the spreadsheet can edit any Apps Script codeattached to it.


Each time a custom function is used in a spreadsheet, Google Sheets makes aseparate call to the Apps Script server. If your spreadsheet contains dozens (orhundreds, or thousands!) of custom function calls, this process can be quiteslow.


Consequently, if you plan to use a custom function multiple times on a largerange of data, consider modifying the function so that it accepts a range asinput in the form of a two-dimensional array, then returns a two-dimensionalarray that can overflow into the appropriate cells.

For example, the DOUBLE() function shown above can be rewritten to accept asingle cell or range of cells as follows:

The above approach uses themap method of JavaScript's Array object to recursivelycall DOUBLE on every value in the two-dimensional array of cells. It returns atwo-dimensional array that contains the results. This way, you can call DOUBLEjust once but have it calculate for a large number of cells at once, as shown inthe screenshot below. (You could accomplish the same thing with nested ifstatements instead of the map call.)

Similarly, the custom function below efficiently fetches live content from theInternet and uses a two-dimensional array to display two columns of results withjust a single function call. If each cell required its own function call, theoperation would take considerably more time, since the Apps Script server wouldhave to download and parse the XML feed each time.

These techniques can be applied to nearly any custom function that is usedrepeatedly throughout a spreadsheet, although the implementation details willvary depending on the function's behavior.

Multipart article

Smartsheet Contributor Kate Eby on Jul 18, 2018

In the information age, data-driven analysis guides business priorities. Using gut feeling and experience to plan projects, develop products, or direct valuable resources isn’t a sound business strategy — it’s guesswork. Products and services evolve in a digital-dependent economy, and you need tools and techniques that help you prioritize limited resources and make decisions in order to keep up with the rapid pace of competition and customer demand.

This article features an overview of project prioritization, including different prioritization methods and how to create and use a priority matrix for project requirements planning. Plus, download free priority matrix templates to get started.

Product Prioritization Matrix Template

Formatted with sample criteria to get you started, this priority matrix features weighted formulas that calculate quantifiable priority scores. Modify the template to fit your product development process, and use the results to evaluate what-if project scenarios and compare trade-offs for project planning and resource allocation.

Free Printable Eisenhower Matrix

Eisenhower Matrix Google Sheets

Simple, powerful project management with Smartsheet. See for yourself.

Smartsheet is a cloud-based platform that allows teams and organizations to plan, manage, and report on projects, helping you move faster and achieve more. See Smartsheet in action.

Task Prioritization Matrix Template

To-do lists have a minimal impact on overall productivity and quickly become an exercise in list-building overtaking action. Use this template to prioritize project tasks and determine which activities to tackle (and which ones to delegate or eliminate) in order to make the most efficient use of your time. Modify the quadrants to reflect your personal assessment criteria and manage your most valuable resource.

Download Task Prioritization Matrix Template

Excel Word PDF

Incident Priority Matrix Template

Use this incident priority matrix template to organize, rank, and respond to your IT service ticket requests. The template is formatted as an action priority matrix and features a coded priority matrix key to quickly determine the impact and urgency of each incident.


Requirements Prioritization Matrix Template

Use this requirements prioritization matrix template to evaluate and prioritize software development requirements, features, or use cases. The matrix is designed to evaluate several criteria and avoid the influence of context, the different views of multiple stakeholders, and the customer/user needs when planning project requirements.

What Is a Priority Matrix in Project Management?

A priority matrix (or prioritization matrix) is an analysis and decision-making tool used in project management, business analysis, and business process improvement systems like Six Sigma. In Six Sigma, project selection is critical to the overall quality improvement process. Using a priority matrix tool for project prioritization and selection is a practical application of project planning and analysis techniques, made accessible by authors Michael Brassard (The Memory Jogger 2) and David Allen (Getting Things Done).

Priority matrix tools provide project stakeholders with a resource to resolve disagreements openly, narrow down all proposals to the best solutions, and increase the chances of a successful project by avoiding hidden agendas and promoting consensus. Use these tools when it is necessary to evaluate several criteria and avoid the influence of context, the different views of multiple stakeholders, and the customer/user needs in project (or product) prioritization and planning phases. For example, using a semi-quantitative, analytical approach, you can utilize priority matrix tools to screen project proposals and gain buy-in from project sponsors and executive leadership.


Priority matrix diagrams are a category of quantitative analytical tools found within the seven management tools (or 7M tools) of the Six Sigma method. Prioritization matrices are visual diagrams. Using weighted criteria formulas, deploy these matrices in order to display and compare two or more sets of data by applying L-shaped columns that compare input and quantify items. Author Lynne Hambleton discusses the three types of priority matrix methods in detail in her book Treasure Chest of Six Sigma Growth Methods, Tools, and Best Practices:

  • Full Analytical Criteria: This is the most complex and rigorous method, reserved for the most critical issues, according to Hambleton. This method is ideal for smaller teams of three to eight people. (Multiple matrices with a broader perspective make it hard to reach complete consensus on priorities.)
  • Consensus Criteria: If you need a priority matrix tool to compare project requirement options that appear to be equal, this method builds a simplified version of the full analytical criteria matrix. The consensus criteria method uses weighted voting and ranking: Applyi a numerical value to the item set under analysis in order to determine the best option. Use a limited number of items and criteria (less than 10) to minimize complexity.
  • Combination Matrix: This is the simplest method for creating a priority matrix that helps determine cause-and-effect relationships. The combination matrix also prioritizes the items or options under analysis to figure out which to address first. It is therefore causal-based — not criteria-based like the other methods — and requires an experienced team with knowledge of the process. The method combines a tree diagram with an L-shaped matrix format and uses symbols like arrows (instead of numerical scores) to identify priorities.

What Is a Project Screening Matrix?

A project screening matrix is a tool used to screen projects by listing each one against different categories of weighted screening criteria. The result is a qualitative score given to each project that can be compared and ranked to determine which projects to approve. The criteria vary and come from a variety of sources, including internal stakeholders, project sponsors, investors, business use cases, and customer use cases and demand.

How to Prioritize Projects with a Priority Matrix

With a focus on collaboration and team planning, project prioritization is a method for selecting the highest priority projects when comparing several choices. Creating a consensus criteria-based priority matrix involves setting a goal, selecting criteria, choosing how to quantify the importance of each criterion, and using this value set to compare the weighted priority score of each item under analysis.

Eisenhower Matrix Google Sheets Download

Adapted from Hambleton’s procedures for using the consensus criteria method, the following guide will help you create a product (or project) prioritization matrix for your team. Download the product prioritization matrix template below and follow these steps:

  • Step 1: Meet with all stakeholders, especially those closest to the customer, and agree on the items that need to be prioritized (e.g., features, products, or tasks). This process requires time and effort because the team must brainstorm and organize data and assess the various decisions involved (customer satisfaction, cost, benefits, and risks). Determine the purpose of the prioritization process for the items under analysis. For example, you may want to prioritize the features under development for a new software product.
  • Step 2: Determine the list of assessment criteria and choose the appropriate values for evaluating the data under analysis. Utilizing the L-shaped matrix format of the template, use the first column to modify the list of items you want to prioritize. Modify or use the sample assessment criteria in the first row (ten or fewer columns), and list items in order of the most important to the least critical.
  • Step 3: Determine the weighted value of the assessment criteria. The total weight must equal one hundred percent in order to create an accurate priority score (total score). Record the criteria weight in the area provided for each criterion.
  • Step 4: Score or rank each item against each weighted criteria column by using a value scale of whole integers, from 0 (lowest impact) to 5 (highest impact), based on the value (relative importance) your team has determined for each criterion. Do this for all the items you’ve listed.
  • Step 5: Complete the consensus criteria method for your product priority matrix by evaluating (from highest to lowest priority) the stacked ranking of your item set. You can sort the total score column to reflect the order of importance if you are looking to eliminate or delegate low-impact tasks.

What Is a Prioritization Template?

A prioritization template is a tool (usually a spreadsheet) that helps you take a diverse set of data — a list of tasks, items, requirements, features, or products — and reveal a hierarchy of importance based on agreed upon assessment criteria and value (both quantitative and qualitative). You can also use a prioritization template to create a priority matrix.

How to Create a Requirements Prioritization Matrix

Author and consultant Karl Wiegers created an eight-step project prioritization model and priority matrix to help teams resolve conflicts and make necessary trade-offs when prioritizing new feature requirements for a product (for example, a new software release), given certain project resources and limitations. Wieger developed his prioritization method in order to counter the rigor of existing methods for priority-ranking the requirements common in software development projects — namely, quality function deployment (QFD) and total quality management (TQM).

Create an L-shaped matrix spreadsheet by using the first column to list each feature requirement (that needs to be prioritized) and the top row to list the following weighted prioritization criteria:

  • Relative Benefit: This criterion represents the benefit of the product to the customer and the business, as indicated by how the product’s business requirements align with the needs of both parties. Wieger recommends gathering data from those staff members who are close to the customer (e.g., sales teams and customer representatives) and having them review the matrix to judge relative benefit and other criteria.
  • Relative Penalty: This is an estimate of the penalty that the customer and the business suffer when the product’s business requirements don’t align with their needs.
  • Total Value: This represents the sum of the relative benefit and penalty. Wieger’s example also uses a total percentage column to measure the value of each feature requirement as a percentage of the total value.
  • Relative Cost: This represents an estimate of the relative cost of implementing each feature, including a separate column to calculate the percentage of the total cost for each feature requirement. Wieger’s example uses software development criteria, with the relative cost based on factors such as complexity, the extent of design work required, the ability to reuse existing code, and the extent and type of software testing necessary.
  • Relative Risk: This is an estimate of the relative degree of technical and business risk associated with each feature requirement, including a column to calculate the percentage of total risk for each feature. Cost and risk are weighted according to your preference, or set to zero value if you don’t want to consider risk criteria a factor.

After you’ve created your list of requirements or features, follow the steps for how to prioritize projects in the earlier section to calculate and rank your highest priority requirements. There isn’t a standard formula for creating a total priority score to rank your requirements. Tailor your formula and the weighting criteria and range of assessment value to your team’s focus and the purpose of the evaluation. Wieger uses the following formula: Requirement priority = value% divided by (cost% x cost weight + risk% x risk weight).

When competing priorities and limited resources start to determine which project requirements get attention, use a prioritization matrix to get on track. By adjusting the item set under analysis, the project criteria, the weighted value scale, and the formula for determining priority, you can create a product priority matrix to aid your team’s planning process.

How Do You Prioritize Work?

Assessing how to dedicate time and effort to projects is quality control for your life. Energy is a finite resource, so creating a system to determine what gets your attention and when — or gets delegated or deleted — is smart. This strategy entails creating a daily schedule to balance time and effort. Start by creating a fixed schedule of productivity, based on the tasks you rank as highest priority.

Some priority matrices use quantitative analysis to determine what takes precedence, but there is a qualitative approach, using an action priority matrix, to help you measure what is urgent and important at work.

What Is an Action Priority Matrix?

An action priority matrix is a simple tool — when compared to elaborate spreadsheet tools that require time, skill, and effort to create and manage — used by individuals to optimize their time and attention. The term refers to a four-quadrant (or 2x2) matrix model based on the type of time management principles attributed to President Dwight D. Eisenhower (the Eisenhower Decision Matrix or Eisenhower Box). This action (or task) priority matrix is inspired by the decision matrix that appears in author Stephen Covey’s book The 7 Habits of Highly Effective People. Action priority matrix models are used to manage time, the most limited resource of all project managers. They are also effective planning tools for any business process improvement strategy. They help you spend your time on quantifiable, objective data, rather than on guesswork.

Eisenhower Matrix Google Sheets Template

Improve Project and Product Prioritization with Real-Time Work Management in Smartsheet

Empower your people to go above and beyond with a flexible platform designed to match the needs of your team — and adapt as those needs change.

The Smartsheet platform makes it easy to plan, capture, manage, and report on work from anywhere, helping your team be more effective and get more done. Report on key metrics and get real-time visibility into work as it happens with roll-up reports, dashboards, and automated workflows built to keep your team connected and informed.

When teams have clarity into the work getting done, there’s no telling how much more they can accomplish in the same amount of time. Try Smartsheet for free, today.

Discover why over 90% of Fortune 100 companies trust Smartsheet to get work done.