Есть очень немного вещей от которых у меня пригорает. И Excel с VBA уверенно занимают места в ТОПе вещей из-за которых у меня пригорает особо.
Я не буду хейтить сами продукты, у меня есть ровно один вопрос - нахера вы его тыкаете везде?
Второй вопрос, вытекающий из первого, нахера вы его настолько глубоко изучаете?
А сейчас я "на пальцах" объясню смысл этих вопросов. Для начала такая вот эмпирическая (то есть основанная на личном опыте) диаграмма.
Это сравнение производительности труда по времени в зависимости от используемой технологии.
Безусловно, что для неподготовленного человека разбираться в СУБД и SQL сложнее, чем в Excel, но изучая Excel очень быстро достигаешь потолка технологии и останавливаешься, в то время как возможности почти любой СУБД несопоставимо больше.
Не скажу, что задолбался, но меня постоянно раздражает то, что "гуру Excel" ведут себя как вегетарианцы. "Самый лучший продукт" и прочие дифирамбы. И при этом настойчиво пытаются впарить... Я, честно говоря, так и не понял что. Ну давайте немного "попаримся" и сравним Excel и СУБД.
Начнём с плюсов Excel - он "в одно лицо" может данные хранить, отображать и показывать графики.
Второй плюс... Подскажите мне в комментариях, ибо лично я не знаю.
Теперь поехали по минусам. На самом деле их очень много, но чтобы не грузить, ТОП-3 на мой взгляд:
Первый - сказочная ресурсоёмкость. Из-за перечисленных плюсов программа вынуждена выполнять очень много не нужных для решения задачи операций. Можно было бы сказать, что "программа же делает, а не человек", но тут есть два больших НО:
Для решения задач обработки +/- существенных объёмов данных системник под Excel будет стоить раза в два дороже. Если в компании 20 - 25 человек работают с большими таблицами Excel, то минимум миллион принесен в жертву Excel. Это бы меня не волновало, если бы не тот факт, что компания этот миллион будет закладывать в стоимость продукции или торговую наценку, а значит в т.ч. и я плачу за этот бред.
Производительность труда при работе с Excel на порядки ниже, чем с СУБД. Когда мне на тех или иных работах передавали формирование отчетов в БД, то на их составление стало уходить до 10 - 12 раз меньше времени, при этом исчезли кучи багов в этих самых отчетах. Это абсолютно бессмысленные затраты на зарплаты сотрудников. За которые в т.ч. и я опять же вынужден платить.
Второй - Excel от слова совсем не поддерживает реляционную модель. До 90% работы с таблицами Excel (кроме ввода данных) это выполнение руками работы, которую делает SQL из коробки. Нужно раз заморочиться с запросом и забыть тему. Так что офисный планктон можно называть "Человек-СУБД" ;-)
Третье - очень серьезные ограничения на объём обрабатываемых данных, как по количеству листов(таблиц), так и строк. Да и по формулам не всё радужно. СУБД переваривает на том же железе на порядки больше и гораздо быстрее.
Ну и пара моментов, которые просто бесят:
Excel зачастую считает, что знает лучше пользователя что он имел ввиду. Ряд длинных числовых реквизитов внезапно может обрасти нулями в конце (с потерей данных);
Excel и "срочно" на более-менее приличных объёмах данных, это взаимоисключающие вещи. И если вдруг возникает ситуация, когда надо срочно или потеряем деньги (что бывает крайне редко, но таки бывает) при использовании Excel остается только смириться с потерей денег.
Так вот возвращаясь к вопросу в начале поста - ради чего вы учите "фишки" Excel и тратите на него время? Чтобы потом неделю делать то, что любая СУБД за минуту сделает?
Про VBA скажу коротко - научиться программировать на VBA и на Python (простые задачи) по времени и силам примерно одинаково. Возможности VBA и Python (даже в рамках примитивных задач) вообще несопоставимые. Это как детский пластиковый совочек и карьерный экскаватор. Опять вопрос - зачем?
Ну и, пожалуйста, не надо писать, что Excel это что-то серьезное. Для своих задач, а именно - прикинуть хрен к носу на паре десятков тысяч строк максимум или оформить табличку со сравнительно небольшим объёмом информации - топчик, спорить не буду. Но он топчик ТОЛЬКО для таких задач...
И возвращаясь к вопросам выше, гуру Excel, ответьте мне - зачем вы тратите своё время и деньги работодателя на возню с детской игрушкой? В Интернете есть 100500 курсов по СУБД, тот же Excel/LibreCalc более чем умеют в импорт. Или просто нравится играться, а не работать?
P.S. Сразу отвечу на вопрос про формулы - тот же PostgreSQL умеет работать с Python, внешние модули так же никто не отменял. Формулы Excel и возможности ЯП опять же несопоставимы и сравнение опять не в пользу Excel.
P.P.S. Сегодня делал отчет. 6 таблиц, от 200к до 35М записей, связка построчно, причём к "центральной" таблице на 6,5 млн. строк привязывались остальные 5. 2 таблицы привязывались по нескольким ключам. Аналог в Excel - ВПР по нескольким полям (т.е. по агрегированному полю). Время формирования отчета в СУБД - минута, данные теряют актуальность за час, время работы над отчетом от получения ТЗ до готового воспроизводимого "по кнопке" результата - 4 часа.
Я бы написал "Слабо в Excel повторить?", но не буду. Потому что насмотрелся на таблицы в сотни мегабайт которые открываются десятки минут и только на компах с 8+ ядрами, 16 Гб ОЗУ и шустрыми SSD. И которые после аплоада данных в PgSQL спокойно формируются за секунды (максимум минуты) на древних компах с характеристиками Raspberry PI.