Blog Post

Microsoft 365 Insider Blog
3 MIN READ

Bring data into Excel with the new Import Functions

Gal_Zivoni's avatar
Gal_Zivoni
Icon for Microsoft rankMicrosoft
Jan 15, 2026

Hi, Microsoft 365 Insiders! My name is Gal Zivoni, and I’m a Product Manager on the Excel team. I’m excited to share a new way to bring your data into Excel’s grid in Excel for Windows.

Bring data into Excel with the new Import Functions

Bringing data into Excel is a core part of so many workflows, yet it can often feel more complex than it needs to be. Many of you shared that while Power Query is powerful, its UI can feel heavy for simple import tasks — especially when all you want is to pull a .csv or .txt file directly into the grid.

With Import Functions you now have two faster, more intuitive ways to bring text-based data directly into Excel. These new functions — including IMPORTTEXT and IMPORTCSV — let you load your data into a refreshable dynamic array with a single formula.

How it works

IMPORTTEXT

IMPORTTEXT is a flexible new function that lets you import data from.txt, .csv, and .tsv files directly into a dynamic array in the grid. It’s designed for scenarios where you want full control over how your data is parsed, with options for delimiters, encoding, row filtering, and more.

  1. In Excel, select the cell where you want your imported data to appear.
  2. Type =IMPORTTEXT.
  3. Enter the path to your file — this can be a local path or a URL — and optionally add parameters such as the delimiter by which to parse the data, rows to skip or take, encoding, or locale.
  4. Press Enter, and the data from your .txt, .csv, or .tsv file is imported into the grid as a dynamic array.
  5. If needed, use Data > Refresh All to refresh the data.
IMPORTCSV 

IMPORTCSV is intended to be a shorthand for IMPORTTEXT, designed specifically for importing data from .csv files directly into a dynamic array in the grid. It provides a simplified experience with smart defaults, such as comma delimiting and UTF‑8 encoding, so you can bring CSV data into Excel quickly with fewer parameters.

  1. In Excel, select the cell where you want your imported data to appear.
  2. Type =IMPORTCSV.
  3. Enter the path to your .csv file — local or URL — and optionally specify rows to skip or take, or a locale if needed.
  4. Press Enter, and the data from your .csv file is imported into the grid as a dynamic array.
  5. If needed, use Data > Refresh All to refresh the data.

Tips and tricks

  • You can specify fixed-width columns by passing a comma-separated array of ascending integers in the delimiter argument.
    Example: =IMPORTTEXT("C:\Data\fixedwidth.txt", {1,3})
  • You can use the CHAR function to specify special characters for the delimiter argument. 
  • You can use Import Functions as context for the =COPILOT function and ask questions about the imported data.
  • For more information about Import Functions, see IMPORTTEXT and IMPORTCSV.

Availability

This feature is available to Beta Channel users who are running Windows Version 2502 (Build 18604.20002) or later. If you’re not seeing it yet, make sure your account is enabled for Insider features and that you’re using an up-to-date version of Excel.

Feedback

We want to hear from you! If you have any feedback or suggestions, you can submit them by clicking Help > Feedback in Excel. You can also submit new ideas or vote for other ideas via Microsoft Feedback.

 

Learn about the Microsoft 365 Insider program and sign up for the Microsoft 365 Insider newsletter to get the latest information about Insider features in your inbox once a month! 

 

 

Updated Jan 15, 2026
Version 1.0

7 Comments

  • Cuando combinas con la formula copilot o la usas por aparte no te da los valores reales 🤷‍♀️😉 

  • Ralf Perske's avatar
    Ralf Perske
    Copper Contributor

    How do the formulas interpret texts like "14-7" or "5E4"?

    Do they yield the date 14.07.2026 (german)?

    Or the scientific notation 5.00E+04?

  • Is there a reason why I am struggling to include the new functions within a custom Lambda function?

    = LET(
        statements, VSTACK(September, October),
        COMPRESSEDλ, LAMBDA(statement,
             LET(
                 table,IMPORTCSV(folder & statement),
                 HSTACK(TAKE(table,,1), TAKE(table,,-3))
             )
         ),
        MAPλ(statements, COMPRESSEDλ)
      )

    seems to work but I am not able to get the function into name manager or the AFE.

    Maybe just my incompetence?  Or being blocked by the security setup.

    BTW, MAPλ is a helper function I wrote to generalise MAP to return arrays of arrays.

     

  • SergeiBaklan's avatar
    SergeiBaklan
    Diamond Contributor

    So far so good, great it's possible to skip/take from top and/or bottom.

  • Is there a way to import multiple CSV files from one folder? Kindly provide functionality to support the import of multiple CSV files.

     

  • Jon-Peltier's avatar
    Jon-Peltier
    Copper Contributor

    Is there (or will there be) a File Open dialog to simplify entering of the file/path name?