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

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Compare 2 excel sheets...
Power Automate
Unanswered

Compare 2 excel sheets and highlight which values are not matching.

(0) ShareShare
ReportReport
Posted on by 79

Hi all,
I need to create a flow where i compare 2 excel files  and check if they are same, if not same  changing the font color or making the font bigger of the non-matching values in the any of the one excel file would be helpful to identify which all values are not matching.

sabeoleonunes_0-1602672843986.png

 

sabeoleonunes_1-1602672889809.png

So here Microsoft is not matching with Google so just Highlight any of the one Microsoft or Google.

sabeoleonunes_2-1602672957509.png

Like this.

Categories:
I have the same question (0)
  • Verified answer
    sumurthy Profile Picture
    Microsoft Employee on at

    This scenario can be accomplished using "Run script" action on Excel online flow. It requires creation of 2 Office Scripts (TypeScript scripts from Excel for web). More details are here: 

    https://docs.microsoft.com/en-us/office/dev/scripts/develop/power-automate-integration 

     

    For your scenario, here's how I'd go about it - 

    (Assuming you only want to do comparison in file-2. If you need to highlight in file-1, simply repeat steps by switching files)

    1. Trigger > 

    2. Write a script that returns the values from your worksheet/or table from File-1. Return unique values of companies. Run this as part of "run script action"

    3. Pass that as input to second script, which then compares/looks-up against the input unique list of values being passed against File-2 and if not found will use the APIs to highlight the cell. 

     

    // Script named: Return unique companies

    // Run this against source file containing company names. Assumes Sheet1 and a table within it containing "Company" column. Change as per need. 

     

    function main(workbook: ExcelScript.Workbook) {
     // Your code here
     let mySheet = workbook.getWorksheet('Sheet1');
     let table = mySheet.getTables()[0];
     let data2D = table.getColumnByName('Company').getRangeBetweenHeaderAndTotal().getValues();
     let companies = data2D.map(row => row[0]);
     
     let uniqueCompanies = companies.filter(function (item, pos) {
     return companies.indexOf(item) == pos;
     })
     console.log(uniqueCompanies.join('|'))
     return uniqueCompanies.join('|'); 
    }

     

     

    // Script named: Highlight missing companies

    // Run this against target file where you want to highlight. Assumes Sheet1 and a table within it containing "Company" column. Change as per need. 

    function main(workbook: ExcelScript.Workbook, uniqCompaniesStr: string) {
     uniqCompaniesStr = 'Microsoft|Google|Netflix|Apple'
     let uniqCompanies = uniqCompaniesStr.split('|');
     console.log(uniqCompanies);
    
     let mySheet = workbook.getWorksheet('Sheet8');
    
     let table = mySheet.getTables()[0];
     // First clear all formats
     table.getRange().clear(ExcelScript.ClearApplyTo.formats); 
     let dataRange = table.getColumnByName('Company').getRangeBetweenHeaderAndTotal();
     let companies = dataRange.getValues();
     for (let i=0; i< companies.length; i++) { 
     let row = companies[i]
     if (uniqCompanies.indexOf(row[0]) < 0) {
     // console.log("Not found: " + row[0] + " at: " + i)
     dataRange.getCell(i,0).getFormat().getFill().setColor('Yellow');
     }
     }
     return; 
    }

     

    Save above scripts in your Office Scripts and run this in Power Automate using "Run Script". 

     

    PA flow with 2 scriptsPA flow with 2 scriptsExcel inputExcel inputExcel outputExcel outputExcel for web - create scriptsExcel for web - create scripts

  • sabeoleonunes Profile Picture
    79 on at

    Hi @sumurthy ,
    Can you please post the script.

  • sumurthy Profile Picture
    Microsoft Employee on at

    Added 2 scripts you will need. Let me know if you need help with using them in power automate.

  • sabeoleonunes Profile Picture
    79 on at

    Hi @sumurthy 

    Can you please help me to execute this in Power Automate.

  • sumurthy Profile Picture
    Microsoft Employee on at

    Done, see above screenshots in the original response. 

    If it works for you, please accept the answer. 

    If it doesn't work, please email and we can discuss offline.

     

    Quick note - if you don't see the "Automate" tab in Excel for web (see my screenshot), please have your O365 Admin turn on Office Scripts. See here for details: https://docs.microsoft.com/en-us/microsoft-365/admin/manage/manage-office-scripts-settings?view=o365-worldwide

     

    Within few weeks we should have it rolled out to all users (non GCC) by default.

  • sabeoleonunes Profile Picture
    79 on at

    Hi @sumurthy ,

    The above scripts worked completely fine, and I was able to get the non-matching values colored.
    Just wanted to know , if there are more then then 2-3 columns to compare how will the script be ,

    sabeoleonunes_0-1602823926931.png

    Excel input 1

    sabeoleonunes_1-1602823955470.png

    Excel input 2

    sabeoleonunes_2-1602823986090.png

    Excel Output

    And do we always need to pass the input data in the script?

    Thanks.



  • Verified answer
    sumurthy Profile Picture
    Microsoft Employee on at

    Passing multiple columns may be easier if you return an object out of the 1st script. It'll help you with comparison in the next script. But the flow and logic will remain identical. 

  • raash Profile Picture
    7 on at

    @sumurthy , is it possible to create a new file with the not matching values instead of highlighting them?

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

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 538 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 405 Moderator

#3
abm abm Profile Picture

abm abm 252 Most Valuable Professional

Last 30 days Overall leaderboard