Eine fertige Lösung mit Apps Script ist bereits möglich – vorausgesetzt, Makros sind kein Problem. Die Aufgabe lässt sich gut per Skript lösen: Dabei wird jede Spalte im manuell gewählten Bereich geprüft, ob sichtbare Inhalte vorhanden sind. Falls eine Spalte komplett leer ist (auch wenn dort Formeln stehen, die nur "" zurückgeben), wird sie automatisch ausgeblendet.
Ich empfehle, statt getValues() lieber getDisplayValues() zu verwenden, da getValues() auch leere Strings ("") als Werte zurückliefert, was insbesondere bei Formeln wie =WENN(...; "") zu unerwartetem Verhalten führen kann. getDisplayValues() orientiert sich hingegen an dem, was tatsächlich in der Zelle angezeigt wird – also näher an dem, was man als "leer" wahrnimmt.