1 of 3
What do you need?

Spreadsheet automation

Keep the spreadsheet. Lose the hour it eats every week.

Every week someone downloads the export from the sales system, deletes the title rows, fixes the dates, pastes it in, drags the formulas down and emails the report. We leave the spreadsheet as it is and make that part run by itself, with the numbers checked before anything is sent.

A2G Tech / Services / Spreadsheet automation

Every Mondaynow runs itselfDownload the exportDelete the title rowsFix the datesPaste into the workbookDrag the formulas downEmail the reportStill your spreadsheetWeekly sales.xlsxThis week’s rows are inReport sent · Mon 7:02

Where the hour starts to go wrong

Excel rewrote gene names in 3 of every 10 papers that used it.

Excel reads anything that looks like a date as a date. A scan of genetics papers from 2014 to 2020 found that 30.9% of those with gene lists in Excel had names changed, the way SEPT2 becomes 2-Sep. In 2020 the committee that names human genes reported it had renamed every symbol Excel turned into a date.

Your export has the same weak spots. Microsoft lists four changes Excel makes on its own when a file is opened or pasted, so 00123 becomes 123 and JAN1 becomes January 1. It also says they don’t directly affect data brought in through Power Query, Excel’s own import tool. That is step two below.

19.6%of papers with Excel gene lists had gene name errors, 2005 to 2015
30.9%in the second scan: 3,436 of 11,117 papers, 2014 to 2020
15digits is where Excel cuts off a long number
4kinds of change Excel makes to your data unasked

One weekly report

One report, from export to inbox.

  1. 1 · ArrivesThe export, as it landsThe weekly file from your sales system has title rows on top and three styles of date. One sale is in it twice.
  2. 2 · CleanCleaned by the same rules each weekEach column is told what it holds, so dates stay dates and codes keep their zeros. Title rows and repeats come out and are counted.
  3. 3 · AddAdded to the workbook, no pastingThe clean rows go under last week’s in the same table, and the formulas are carried down to them. Nobody pastes or drags.
  4. 4 · CheckFormulas checked against a totalThe export states its own total. The run adds up your formulas’ results and compares. That figure to match is a control total.
  5. 5 · SendThe report built and sentThe summary updates from the new rows, a PDF is made, and it’s emailed to your list at the same hour every week.
  6. 6 · LogLogged, and stopped when it’s wrongEvery run is written down. If the export looks wrong, the run stops before it touches the workbook and tells a person.
export_week40.csvDateCodeQtyPriceTotal for the week$194.00Weekly sales.xlsxYour workbook. Nothing has touched it yet.as it arrivesWeekly sales exportPrinted 10/05/2026 06:00, page 109/28/26001234$24.00Sep 30, 2026JAN12$29.0010-02-2026004561$40.0009/28/26001234$24.002title rowsabove the real data3date stylesin one column1sale listed twicethe same line, repeated2codes Excel would rewrite00123 and JAN1cleaned by rulestitle row, removedtitle row, removedrepeated line, removed09/28/2026001234$24.0009/30/2026JAN12$29.0010/02/2026004561$40.00Title rows removed2 rows, every weekDates in one stylemonth, day, yearRepeat removedand counted in the logCodes kept as text00123 stays 00123export_week40.csvcleaned: 3 rows, $194.00Weekly sales.xlsxthe Data tabDateCodeQtyPriceTotal09/22/2026001233$24.00$72.0009/25/2026007895$12.00$60.0009/28/2026001234$24.00$96.0009/30/2026JAN12$29.00$58.0010/02/2026004561$40.00$40.003 rows added under last week’s. Formulas carried down.Matches the export’s totalNobody pastes anything.Your tabs, charts and formulas stay where they are.CopyPasteDrag downGone from Monday morning.The export says$194.00Your formulas add up to$194.00They match, so the report can go out.If they differ, the run stops and nothing is sent.Weekly salesWeek 40$194.00Monday, 7:02 amWeekly sales, week 40To Ana, Ben and youweek40.pdfSent. Nobody opened a laptop.Run logevery run, written downOct 53 rows in. Totals match. Report sent.Sep 285 rows in. Totals match. Report sent.Sep 21Stopped: no Price column. Ana was told.Sep 144 rows in. Totals match. Report sent.

Much of this is already inside Excel and Sheets.

We start with what you already pay for. Microsoft’s own documentation describes this chore: a file from an accounting site, opened every morning and tidied by hand. Power Query, Excel’s built-in import tool, records each cleaning step and runs them again on refresh. Office Scripts are steps Excel records and replays, and Power Automate, Microsoft’s scheduler, can run them at a set time. Apps Script does the same in Google Sheets.

Where those cover the job, we set them up and add nothing. Each also has limits its maker publishes, shown here, and Office Scripts in Power Automate need a business Microsoft 365 license. Where a limit gets in the way, a small program of ours takes over that part.

If the sheet has outgrown being a sheet, with several people editing copies of their own, we’d rebuild it as an app instead ›

Already in your subscriptionand where each one stopsPower Queryimports and cleans a fileA script on a schedule can’t refresh most dataOffice Scripts + Power Automateruns steps on a scheduleTimes out at 120 seconds. No calls to outside services.Apps Script, in Google Sheetsruns on a timer, sends email6 minutes a run. 90 minutes a day on a free account.Python in Excelanalysis inside a cellNo network access, and none to your computerA small program, where those stopReads the inbox or the portal, runs the checks, keeps the log

What you’d get

The same spreadsheet, with the chores done for it.

1

Data that arrives clean

Codes and long numbers land exactly as the export wrote them, and every date in one style.

2

A workbook that fills itself

This week’s rows are added under last week’s, with the formulas carried down, before you open the file.

3

Formulas someone has checked

We read the formulas behind the report, fix the ones that miss rows, and add a total the run compares with the export each week.

4

The report, sent on time

The summary is rebuilt from the new rows and emailed as a PDF to your list, at the hour you choose.

5

A message when something’s off

If the export is missing a column or the totals don’t match, the run stops before the workbook changes and emails a named person why.

6

A log of every run

Each run records when it ran, how many rows came in and whether the totals matched, so a question about last month has an answer.

The part nobody sees

The report in your inbox is the visible part. What lets you stop thinking about it sits underneath. In Google Sheets, for one, a timed script runs under the account of the person who set it up, so it needs an owner who won’t change jobs. See what it takes ›

  • Somewhere to run when every laptop is shut
  • A sign-in of its own, not one employee’s
  • Every export kept exactly as it arrived
  • A rerun that can’t add the same week twice

How a project goes

  1. 1

    Talk

    A free call. You describe the problem in your own words, and we tell you honestly whether software is the answer.

  2. 2

    Proposal

    A written scope, timeline and price before any work starts.

  3. 3

    Build

    We design, code and test in phases. You see working software at the end of each one.

  4. 4

    Launch

    We put it live: app stores, hosting, domains, the lot.

  5. 5

    Keep it running

    Monthly maintenance if you want it: updates, fixes and regular reviews.

Before you ask

Can’t Excel or Google Sheets do this on their own?

Often they can, and we start there. Power Query, Excel’s built-in import tool, records each cleaning step and runs them again on refresh. Office Scripts with Power Automate, and Apps Script in Google Sheets, run steps on a schedule. Their makers also publish the limits: a script run from Power Automate times out at 120 seconds and can’t refresh most data, and one Apps Script run ends at 6 minutes. We add a program of our own only where those limits get in the way.

Will we have to change how our spreadsheet is laid out?

Very little, as a rule. The new rows need one tab to land in, and your summary tabs, charts and formulas go on reading from it as they do now. If a formula behind the report is wrong or misses rows, we show you before we change it.

Does this work with Google Sheets too?

Yes. In Sheets the scheduler is Apps Script, which Google runs for you. Google’s published limits are 6 minutes for one run, and 90 minutes of timed runs a day on a free account or 6 hours on Google Workspace. Google also picks the exact minute inside the hour you choose, so we set the run an hour ahead of when the report is due.

We already have a macro that does part of this. Can you work with it?

Yes, and we read it first, because a macro that works is worth keeping. Two things Microsoft documents are worth knowing. Excel in a web browser can’t run VBA macros, the kind most older workbooks use. And Excel on Windows blocks macros by default in files that came from the internet, such as email attachments. If either one is getting in your way, we move the same steps somewhere that doesn’t depend on the macro.

What happens when the export changes, or a run fails?

The run checks the file before it touches the workbook: that the columns it expects are there, and that the totals match. If a check fails it stops, leaves the workbook as it was, and emails the person you named with the reason. Once the cause is fixed, the same week can be run again without adding its rows twice.

Tell us what’s slowing you down.

Two taps and your email. No call to book, no brief to write.

Prefer email? axel.r.diaz@a2g-tech.com

1 of 3
What do you need?