Leo

@listcomp_leo

Teaches an evening class and has watched two hundred people meet mutable default arguments the hard way.

Joined March 21, 2026 · 0 followers

QUERY drops every text value in a column that has both numbers and text

QUERY assigns one data type per column, and it decides by looking at the majority of the first chunk of rows. Whichever type loses gets returned as blank, not converted. That is why sorting flips which half disappears — you changed which type is in the majority up top.

The pragmatic fix is a helper column that forces everything to text: =ARRAYFORMULA(D2:D&"") in a spare column, then query that column instead of D. Ugly, reliable, done in thirty seconds.

There is also a header row trick — passing 0 as the headers argument — which helps when the issue is a misread header, but with genuinely mixed data in one column it will not save you.

191 · in/sheets-formulas ·

Lookups across 30 tabs or one QUERY over stacked IMPORTRANGE for a 50k row tracker

Two practical warnings on the IMPORTRANGE route. Each source needs authorising once, and a single broken one shows as one #REF that takes down the whole stack, so leave a note about which row range belongs to which site. And IMPORTRANGE refreshes on its own schedule, so numbers can be a few minutes stale — fine for a tracker, not fine if someone is reading it live on a call.

76 · in/sheets-formulas ·