Blog Post

Excel Blog
3 MIN READ

Write formulas with natural language using Copilot in Excel

Inbar_Privman's avatar
Inbar_Privman
Icon for Microsoft rankMicrosoft
Dec 11, 2025

Writing formulas can feel intimidating, especially when you’re unsure of the syntax or which function to use.

We’ve already made formula writing easier with formula completion, which proactively suggests and autocompletes formulas as you type. Now, we’re introducing an additional on-grid Copilot tool that takes it a step further: With this new capability, you can simply describe what you need, and Copilot will create the formula for you. This means no more struggling to remember complex syntax, and faster and more natural interactions with your data, especially if you’re new to Excel – plus, a helpful alternative when formula completion doesn’t return the right suggestions or when you prefer typing in your own words. Together, these tools make formula writing faster, easier, and more intuitive, so you can focus on insights, not syntax.

How it works

  1. In Excel for the Web, select the cell in which you want to enter a formula.
  2. Type = in the cell or the formula bar, and then click on the Ask Copilot for a formula option that appears.NOTE: You can also use the keyboard shortcut Ctrl + to move the focus into the input box.
  3. Describe the kind of formula you want in natural language. For example: “Calculate total profit".
  4. Review the formula suggestion, the description, and the preview of the result on the grid. Then, select either Keep it if the suggestion works for you, or Discard, and then type = and run the Ask Copilot for a formula option again.

Tips and tricks

  • You can ask Copilot to modify existing formulas: In cases where you already have a formula but need to adjust it, simply describe the change you want, and Copilot will update the formula for you. For example, you can modify a return on assets calculation to include average assets for period. 
  • You can ask for formulas that require data from different sheets, such as calculating the asset turnover rate using values from separate Income Statements and Balance Sheets tabs. 
  • In cases where the formula completion doesn’t match your needs – for example, Copilot spells the month out but you want the format to be MMM – describe the exact format you need, and Copilot will generate the correct formula for you. 

Scenarios to try

Copilot can generate formulas of varying complexity for different needs:

  • Return a unique list of salespersons from the transactions table.
  • Calculate the total units sold for each salesperson in the list.
  • Calculate the total sales for each quarter - even when the sales table doesn't include the quarter, only the date.
  • Extract the state out of the customer address.
  • Compute profit for each transaction with a lookup function that uses data from another table. 

Known issues

This feature currently supports one formula or one formula column or range at a time. Multiple formulas support is being considered for future updates.

Availability

This feature is currently rolling out to Excel for Web users with a Microsoft 365 Copilot license.

Feedback

We appreciate your insights regarding formula suggestions using natural language! You can share your feedback with us in the result card using the thumbs up or down buttons, or by selecting the Feedback button in the upper right-hand corner of Excel for Web, and then selecting either Give a complimentReport a problem, or Make a suggestion.

Updated Dec 11, 2025
Version 1.0

3 Comments

  • Ralf Perske's avatar
    Ralf Perske
    Copper Contributor

    Hmmmh,

    to extract the last two letters of customer address, I won't use

    =TRIM(REGEXEXTRACT(G3,"[ ,]([A-Z]{2})$",2,1))

    but

    =RIGHT(G3,2)

     

    To list the sums of quarters, I don't need a list Q1, Q2, Q3, Q4 in J6:J9

    For this, Excel has the GROUPBY-Formula

    Not this:

    =SUM(FILTER(ROUNDUP(MONTH(Table1[Transaction Date])/3,0)=MATCH(J6,7"Q1","Q2","Q3","Q4"},0))))

    but the spilling formula

    =GROUPBY(ROUNDUP(MONTH(Table1[Transaction Date])/3,0);Table1[Sales];SUM)

    It is even better to use a pivot-table:

    Date in rows, sales in values, group date in quarters …

    • supertoilet's avatar
      supertoilet
      Copper Contributor

      The first formula is made for getting the state's two letters like in Seattle, WA it will extract WA. It does not work for addresses with a zip code after the state, lowercase letters, or full state names.

      The formula that would have met your needs (in addition to right(g3,2)) is

      =TRIM(REGEXEXTRACT(G3,"(.{2})$"))

       

      If you asked for the "last two letters" then Copilot probably took your prompt too literally, as in you only want the last two alphabetical letters. You may need to ask for "the last two characters, unconditionally". The semantics are important since the regex formula you got is targeting uppercase letters from A to Z, but right(G3,2) and my formula will take the last two characters

  • copilotgod's avatar
    copilotgod
    Copper Contributor

    Where can I get the Excel sample you mentioned in your article?