Scripts, formulas and automation · Both directions

Apps Script to Power Automate, and Sheets formulas to Excel, rewritten by an engineer.

No migration tool converts a script or a QUERY formula. Sorami inventories them, rewrites what still matters and retires the rest with a reason.

  • Every script and workbook inventoried before quoting
  • Rewrites tested against the original output
  • Forms rebuilt with their response sheets
  • Reverse direction covered: Excel and flows to Sheets

Apps Script · Office Scripts · Power Automate · Google Sheets · Excel · Forms · Microsoft Forms · AppSheet · Power Apps

Sorami converts the automation that migration tools skip. Apps Script becomes Office Scripts, Power Automate or a Graph API call depending on what it did. Google Sheets formulas that have no Excel equivalent are rewritten and tested against the old output. Forms are rebuilt with their response sheets. The reverse direction works the same way.

Why this is separate

Why does automation need its own migration page?

Migration Manager exports a Google Sheet as an Excel workbook. The cells arrive. The script bound to the sheet does not, and a formula such as QUERY or IMPORTRANGE arrives as a cell showing an error. The same is true in reverse: an Excel workbook imported to Sheets loses Power Query, macros and Office Scripts. The file migration is finished and the business process behind it has stopped working.

This is why the inventory step counts scripts and complex workbooks separately. Each one is a small software project with an owner, an input, an output and a trigger. Most tenants find a handful that run the business and a long tail nobody has opened in a year. We quote the handful and retire the tail with the owner's agreement in writing.

Apps Script

What is the Microsoft 365 equivalent of Apps Script?

There is no single answer. The target depends on what the script did.

Apps Script is JavaScript bound to a file. It has time-driven and form-submit triggers and direct access to Gmail and Drive as well as Calendar and Sheets. Microsoft splits that into three tools. Office Scripts are TypeScript inside Excel and suit scripts that only manipulated a spreadsheet. Power Automate flows suit triggered automation that touched mail, files or approvals, with the caveat that some connectors need premium licensing. Anything that called external APIs or ran as a service becomes a Graph API script or an Azure Function.

We classify every script by what it touches, then pick the target that needs the least new infrastructure. A nightly script that emailed a report from a sheet becomes an Office Script plus a scheduled flow. A form-submit script that created a Calendar event becomes a Microsoft Forms trigger in Power Automate. A script that pulled data from a vendor API becomes a Power Query connection or a small Graph job. Each rewrite is tested against a saved copy of the original output before the old script is switched off.

Formulas

Which Google Sheets formulas do not work in Excel?

  • QUERY: rewritten with FILTER, SORT and SUMIFS or moved to Power Query.
  • IMPORTRANGE: replaced by Power Query or a linked workbook reference.
  • IMPORTHTML and IMPORTXML: replaced by Power Query web connections.
  • GOOGLEFINANCE: replaced by Excel data types or a Power Query feed.
  • ARRAYFORMULA: usually removed, since Excel formulas spill natively.
  • FLATTEN and ARRAY_CONSTRAIN: rewritten with TOCOL and TAKE.
  • EPOCHTODATE: rewritten with date arithmetic.
  • XLOOKUP and LET and LAMBDA and FILTER: now in both. No change.

Going the other way, Excel-only functions such as MAP and SCAN and the BYROW family need LAMBDA-style rewrites or an Apps Script helper. Power Query and PivotTable features have no Sheets equivalent and become Apps Script, connected Sheets or a BigQuery view depending on volume. Every rewritten workbook is checked cell by cell against the original on a frozen copy of the data.

Forms, Sites and AppSheet

What happens to Google Forms, Sites and AppSheet apps?

Google Forms cannot be imported into Microsoft Forms. We rebuild each live form, repoint its response destination to an Excel workbook in SharePoint and re-link any automation. Historic responses are exported to the new workbook. Microsoft Forms going to Google are rebuilt the same way with responses landing in a Sheet.

Google Sites are rebuilt as SharePoint pages or moved with a third-party tool that we name in the quote; permissions and formatting are lost either way and the plan says so. AppSheet apps are redesigned in Power Apps, and Power Apps going to Google become AppSheet apps. Both are quoted per app after a walkthrough with the owner, because the data model matters more than the screens.

Pricing

How is script and formula work priced?

Pricing is quoted per user after a 20 minute scoping call. Sorami holds no partner tier with Microsoft or Google and takes no reseller margin, so licences are bought on your account at list price.

Scripts and workbooks are quoted per item after the inventory, with a fixed price for each rewrite and a written list of what is being retired. This work is usually bought alongside a Google Workspace to Microsoft 365 or Microsoft 365 to Google Workspace migration, and the file side is on the SharePoint, OneDrive and Google Drive page. It can also be bought on its own after a migration that left the automation behind. The shared method is on the migration services hub.

Questions before you book

Practical answers.

Is there a direct Apps Script to Power Automate converter?

No. Apps Script is bound JavaScript with its own triggers. Microsoft splits the job across Office Scripts, Power Automate and the Graph API. Sorami classifies each script by what it touches and rewrites it to the target that needs the least new infrastructure, then tests against the original output.

Which Google Sheets functions have no Excel equivalent?

The main ones are QUERY and IMPORTRANGE and the other IMPORT functions. GOOGLEFINANCE and ARRAYFORMULA join them. So do FLATTEN and ARRAY_CONSTRAIN and EPOCHTODATE. Most are rewritten with Excel dynamic array functions or moved into Power Query. XLOOKUP, LET, LAMBDA and FILTER exist in both and need no change.

Can Google Forms be migrated to Microsoft Forms?

Not by import. Each live form is rebuilt in Microsoft Forms with its response destination pointed at an Excel workbook in SharePoint. Historic responses are exported into that workbook. Dead forms are retired with the owner's agreement.

Does Power Automate convert to Apps Script when moving to Google?

Not automatically. Flows that worked on mail, Drive or Sheets become Apps Script with time or form triggers. Flows that used premium connectors or approvals are redesigned, sometimes in AppSheet. Each flow is tested against its original behaviour before cutover.

How do you quote this work?

Per item, after an inventory of every script and complex workbook plus every form and app. Each rewrite gets a fixed price and a test plan. Items nobody has used in a year are listed for retirement rather than quoted.

Let’s scope it

Scripts or workbooks that have to survive the move?

Send a rough count of scripts, complex workbooks and forms. We reply within one business day with a scoping call time.

Send an enquiry

Last reviewed: