web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Can Power Automate ana...
Power Automate
Suggested Answer

Can Power Automate analyze Excel data that's not in a table?

(2) ShareShare
ReportReport
Posted on by 57

I've searching for a while with my friends Bing and Google for this answer. How do I get Power Automate to analyze data in an Excel file that's NOT in a table. So I have a large spreadsheet created by another system (it's an export report). There are 14,000 rows and column A thru L all have data in them. To help visualize this I created the test data below (not real data). So, I need to search for "owners" under the "Role" column and then get their "DisplayName", "Company" and "Mail" address. I'm going to write that data to a SharePoint list, but I'm fairly curtain I can figure that part out on my own. I just can't figure out the Excel Connector. 

 

DisplayNameLoginIDCompanyRoleMail
Westley, JohnjwestleeWestside Branch Employeejwestlee@automagictone.com
Mackin, JonjmackinEastside BranchOwnerjmackin@automagictone.com
Wesseling, BertbwesselingWestside Branch Ownerbwesseling@automagictone.com
Brent, LisalbrentCorporateOwnerlbrent@automagictone.com

 

Your response is greatly appreciated. 

Categories:
I have the same question (0)
  • Yutao Huang Profile Picture
    Microsoft Employee on at

    Hi @IT_Matt ,

     

    If converting the data in Excel into table is not an option for you, maybe you could consider trying out the new "Run script" action.

    Yutao_0-1602212342857.png

    You'll first need to create your script (TypeScript) in Excel Online. Here is a sample script that does what you've described in your question - returns the displayName, company, and mail for the records with "Owner" as the Role.

    interface OwnerInfo {
     displayName: string;
     company: string;
     mail: string;
    }
    
    function main(workbook: ExcelScript.Workbook): OwnerInfo[] {
     let range = workbook.getWorksheet("Sheet1").getRange("A2:E5");
     let values = range.getValues();
     let result = values
     .filter(row => row[3] === "Owner")
     .map(row => ({
     displayName: row[0],
     company: row[2],
     mail: row[4]
     }));
     return result;
    }

     

    This script assumes the below cells (non-table) on Sheet1. You will need to adjust the above script code for things like sheet name, range address, column index, etc. to match your actual workbook.

    Yutao_1-1602212596116.png

     

    Here are some links that might be helpful to learn more about the new Run script action and the Office Scripts in general:

    Hope this helps!

    Yutao

  • sumurthy Profile Picture
    Microsoft Employee on at

    To add to the solution @Yutao proposed, I'd recommend using the used range API instead (line-8) so that you get all rows each time you run. 

     

    let range = workbook.getWorksheet("Sheet1").getUsedRange();

     

  • IT_Matt Profile Picture
    57 on at

    @Yutao Thank you for the response! Unfortunately, I'm in the GCC cloud and the Run Script for Excel Online is not available yet. GCC lag behind the commercial cloud about 6 - 18 months for most features and previews. 

    So, how could I create a table if don't know how many rows I will have. The number of rows will probably keep changing with each new report.  

    Thanks for your help! 

  • sumurthy Profile Picture
    Microsoft Employee on at

    Sorry, Office Scripts is not yet supported in GCC. 

    To address your other question about number of rows, my previous response addressed that issue. You can use the getUsedRange() API to get all rows. 

  • IT_Matt Profile Picture
    57 on at

    @sumurthy can I use that reference "getUsedRange()" in the Create Table action? 

     

    IT_Matt_0-1602616361917.png

     

  • sumurthy Profile Picture
    Microsoft Employee on at

    The API that I mentioned is only available within Office Scripts. 

    Excel online offers few out of the box actions such as Read rows, create row, delete row, etc. These are fairly simple and requires data to be in a certain format/shape, etc. They are limited in-terms of what they can do (can't do formatting, etc.). For more complex logic, calculations, etc., you'll need Office Scripts, which can run a TypeScript language script against a file. The script can receive input like any other action and return values like any other action. 

    So, you'll need to handle all your logic plus creation of table, all in the script itself. 

  • Suggested answer
    takolota1 Profile Picture
    4,980 Moderator on at
    There is also this template Azure Function that allows you to pull data from any Excel sheet without it being formatted as a table...
    https://community.powerplatform.com/galleries/gallery-posts/?postid=eea06380-8483-ef11-ac21-7c1e5201b42f

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
David_MA Profile Picture

David_MA 262 Super User 2026 Season 1

#2
11manish Profile Picture

11manish 167

#3
Haque Profile Picture

Haque 154

Last 30 days Overall leaderboard