<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau" -->

---
title: My rules for using spreadsheets | daily.dev
description: A personal essay arguing that spreadsheets should mostly be avoided for anything large or complex, based on years of reviewing engineering firms' error-prone,...
canonical: https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: My rules for using spreadsheets | daily.dev
og:description: A personal essay arguing that spreadsheets should mostly be avoided for anything large or complex, based on years of reviewing engineering firms' error-prone,...
og:url: https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau
og:image: https://api.daily.dev/og/posts/CFbcLsnau.png
og:image:alt: My rules for using spreadsheets
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# My rules for using spreadsheets

**[Hacker News](https://daily.dev/sources/hn)** · 12 min read · 1 upvotes · 0 comments

## Summary

A personal essay arguing that spreadsheets should mostly be avoided for anything large or complex, based on years of reviewing engineering firms' error-prone, inconsistently structured Excel files. The author outlines two narrow exceptions where spreadsheets are acceptable (very small, simple problems, or as a one-off staging area before exporting data) and then walks through a detour comparing Pandas and SQLite for grouping and summarizing the US baby names dataset, showing equivalent groupby/pivot-table style queries in both tools.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://leancrew.com/all-this/2026/08/my-rules-for-using-spreadsheets>

## Questions this post answers

### How many rows can Excel and Apple Numbers handle in a spreadsheet?

Excel is limited to 1,048,576 rows, while Numbers is limited to 1,000,000 rows. This matters for large datasets like the US baby names dataset, which contains 2,181,032 entries when all years are concatenated, exceeding both spreadsheet applications' row limits and requiring a different tool such as Pandas or SQLite.

_Anyone hitting spreadsheet row limits on large datasets can find alternative approaches curated on daily.dev._

### How do you use Pandas groupby to find the most popular baby names by year range from a CSV file?

Read the CSV into a dataframe with pd.read_csv, filter rows by conditions like sex and year range, select the relevant columns, then chain groupby('Name').sum().sort_values('Count', ascending=False) and slice the top results. For example, filtering female names after 2000 and taking the top 5 by summed count returns Emma, Olivia, Isabella, Sophia, and Emily.

_Developers comparing Pandas groupby techniques against SQL equivalents can track such data wrangling patterns on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 42 comments across hackernews (as of 2026-09-14).

**TL;DR:** Most commenters agree spreadsheets are error-prone and unsuitable for complex or long-lived work, but many push back that the post undervalues spreadsheets' real strengths for rapid prototyping, collaboration, and non-technical users.

**Sentiment:** 25% positive · 55% mixed · 20% skeptical

**The case for**

- Spreadsheets let non-technical stakeholders see and verify data directly, which builds trust and 'defensibility' of results.
- They enable extremely fast prototyping and iteration compared to traditional software development.
- They're a useful bridge/staging layer before formalizing something as a database or app.
- Named ranges and features like formula auditing (trace precedents) can mitigate some of the criticized weaknesses.

**The pushback**

- Spreadsheets full of broken assumptions and errors often drive real business decisions, causing serious downstream harm.
- Splitting data across multiple sheets (e.g., by year) commonly leads to double-counting or missing entries.
- They handle time/date semantics poorly because users don't model how values change over time.
- There's no good SQL-backed UI that matches spreadsheets' fast, interactive data entry experience.
- The post's own Python one-liner example undercuts its argument about formula readability by being just as opaque.

**By community**

- hackernews (mixed): Discussion splits between agreeing spreadsheets are error-prone and misused for complex work, and defending them as unmatched for rapid, visible, collaborative prototyping with non-technical users.

**Hottest debate:** Whether spreadsheets are fundamentally a tool for amateurs faking programming versus a uniquely effective medium for visible, collaborative, fast-iteration work that nothing else replicates.

**Open questions**

- Is there a SQL-backed or database UI tool that offers the same fast, interactive, arrow-key-driven data entry as spreadsheets?
- How should teams decide when a spreadsheet has 'overstayed its welcome' and should be rewritten as a dedicated app?

**Highlights**

> I've been tasked to rewrite a spreadsheet as a dedicated app. Most of what is in TFA is correct but it only begins to describe the problem. My takeaway is very simple: the world runs on broken spreadsheets that are full of bugs and wrong assumptions. And the PowerPoint presentations are shown to business people taking decisions based on the wrong numbers coming from those spreadsheets. And it's the world we live in. > It was common for the data to be split over two or more sheets. And when the sheet are separated, for example, by years, that's even more bugs. Stuff is counted twice. Others not at all. The concept of when an entry should be "closed" when it's opened on year X and closed on year "X + 1" is something that bewilders spreadsheets users. > and errors as the spreadsheets grew or were adapted to new data Errors in spreadsheets are the big one: spreadsheets are full of errors. > Another problem with spreadsheets is that the amount of data they can contain is more limited than when you use other data analysis workflows. Another gigantic issue is that the notion of time is broken in dynamic spreadsheets: not because a spreadsheet cannot be written to correctly deal with it. But because the spreadsheet users don't know how to properly model how values relates to varying time (typically the spreadsheet shall work, for the cell that fetches the value, for the time value of "now" and that's it). > I know there are lots of people who love using spreadsheets. It's because you can cosplay being an actual programmer when you're not. The result, sadly, is exactly what you'd expect: buggy spreadsheets full of broken assumptions. Which are then sent to those meaning real business to be rewritten as dedicated apps... P.S: as of now I'm working on finance stuff... Same old story: a spreadsheet that has overstayed its welcome, it became gigantic. It's a pure mess of fetching values (and fetching way too many values, which creates technical issues) and bogus little things left and right. So what are we doing, again? Porting that spreadsheet to a proper dedicated app that can, correctly, deal with a proper amount of data, while fixing all the little glitches and gotchas too complicated to fix in a spreadsheet.
> — [TacticalCoder on hackernews · 1 comments](https://news.ycombinator.com/item?id=49286034)

> Excel succeeds in the business world because users interact with visible data directly on the screen rather than relying on abstract database storage and retrieval. Non-technical workers can build functional tools rapidly, outperforming traditional software development speeds massively. Engineering CS types completely miss the point on this. If Im making a model for finance I need to see the data live, update fast, get my charts done without messing about with matplotlib etc. Get to solutions and decisions. Spreadsheets are still prolific bc they enable rapid prototyping, visibility and flexibility that is to this day completely unmatched.
> — [hodder on hackernews](https://news.ycombinator.com/item?id=49286985)

> As a spreadsheet user first, this just reads as programmer prefers programming. Many times the spreadsheet is a collaborative document. One way to use spreadsheets is you use it for a number of iterations, get your outcome quickly, let stakeholders give feedback and adjust the approach. Then once it becomes stable, then you turn it into a database/app/script. Errors in spreadsheets are obvious to more users than errors in code because your work is shown, not hidden. Taking a csv file and writing bash is not the answer. If you are doing that, you should probably get back to work/research.
> — [chux52 on hackernews](https://news.ycombinator.com/item?id=49287939)

> I generally agree with the logic -- I don't like using spreadsheets for anything complex, or that has the shelf life of more than, say, a month. I can remember my logic for putting together all the complex formulas for a while, but eventually I have to recreate my own logic, reverse engineering everything, and it's frustrating. But when one of your arguments is "Excel has complicated nested formulas that are difficult to follow" I don't think showing off a Python one-liner as an alternative is the greatest example. That one-liner is doing about five things that could have been separated into steps to show off the relative clarity and flexibility of the approach. It is better...that example just doesn't do a good job showing it.
> — [armoredkitten on hackernews · 1 comments](https://news.ycombinator.com/item?id=49285814)

> When you add sufficient rules to spreadsheets to make them more well-behaved, they just become UIs for SQL tables stored in a SQL database. Instead of autofilling formulas they just become generated columns. Pivot tables are proper views with GROUP BY. Unfortunately I’ve never found a SQL UI tool that optimizes for fast data entry in interactive use. Most UI don’t even allow the use of arrow keys to move between cells.
> — [kccqzy on hackernews](https://news.ycombinator.com/item?id=49286860)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49285268) · 38 points · 42 comments

## Similar posts on daily.dev

- [Seeing like a spreadsheet](https://daily.dev/posts/seeing-like-a-spreadsheet-qg8of5vvo) · Hacker News · 2 upvotes · 0 comments
- [My spreadsheet workflow changed when I ditched Excel for open-source tool that I can run offline](https://daily.dev/posts/my-spreadsheet-workflow-changed-when-i-ditched-excel-for-open-source-tool-that-i-can-run-offline-t1jbyodvp) · XDA Developers · 0 upvotes · 0 comments
- [When Excel Stops Being Enough](https://daily.dev/posts/when-excel-stops-being-enough-chb8spoah) · Medium · 0 upvotes · 0 comments
- [Formula Length](https://daily.dev/posts/formula-length-arflqz5um) · The Daily WTF · 0 upvotes · 0 comments
- [Every Database Has These Seven Tables](https://daily.dev/posts/every-database-has-these-seven-tables-tjxzjxa4q) · SQL Authority · 237 upvotes · 25 comments

---

Tags: [#python](https://daily.dev/tags/python), [#data-analysis](https://daily.dev/tags/data-analysis), [#pandas](https://daily.dev/tags/pandas), [#sqlite](https://daily.dev/tags/sqlite)

[View this post on daily.dev](https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"My rules for using spreadsheets","url":"https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau"},"datePublished":"2026-08-13T14:22:28.093Z","dateModified":"2026-09-14T07:17:08.633Z","description":"A personal essay arguing that spreadsheets should mostly be avoided for anything large or complex, based on years of reviewing engineering firms' error-prone,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d945af224835987a5d7a16d3e9fefcb1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d945af224835987a5d7a16d3e9fefcb1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,data-analysis,pandas,sqlite","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"My rules for using spreadsheets"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/my-rules-for-using-spreadsheets-cfbclsnau#faq","mainEntity":[{"@type":"Question","name":"How many rows can Excel and Apple Numbers handle in a spreadsheet?","acceptedAnswer":{"@type":"Answer","text":"Excel is limited to 1,048,576 rows, while Numbers is limited to 1,000,000 rows. This matters for large datasets like the US baby names dataset, which contains 2,181,032 entries when all years are concatenated, exceeding both spreadsheet applications' row limits and requiring a different tool such as Pandas or SQLite. Anyone hitting spreadsheet row limits on large datasets can find alternative approaches curated on daily.dev."}},{"@type":"Question","name":"How do you use Pandas groupby to find the most popular baby names by year range from a CSV file?","acceptedAnswer":{"@type":"Answer","text":"Read the CSV into a dataframe with pd.read_csv, filter rows by conditions like sex and year range, select the relevant columns, then chain groupby('Name').sum().sort_values('Count', ascending=False) and slice the top results. For example, filtering female names after 2000 and taking the top 5 by summed count returns Emma, Olivia, Isabella, Sophia, and Emily. Developers comparing Pandas groupby techniques against SQL equivalents can track such data wrangling patterns on daily.dev."}}]}
```

