Комментарии 36
Ну да была как-то статья про игры на Excel
Не разделяю восторг мистера Уэйна.
Оно, конечно, эксель позволяет делать что угодно с данными и строить графики буквально парой кликов. В этом плане он, конечно, гораздо удобнее какого-нибудь pandas..
Однако, мистеру Уэйну стоит попробовать открыть такой файлик от кого-нибудь, уже освоившего подобные глубинные трюки.
У меня вот есть несколько аналитиков, которые придумывают какие-то свои операции с данными, строят по ним таблички, потом графики и что-то вычисляют. Как только у них все получается - они присылают файлик мне и просят сделать то же самое, но уже на веб-страничке и интерактивным в реалтайме.
=IFERROR(INDEX(t_050[[#All],[scheduled_qty]],MATCH(1,(t_050[[#All],[run_type]]="RTC")(t_050[[#All],[unit]]=2)(t_050[[#All],[Time]]=C4),0),0),0)
Здорово, правда? Это просто одна формула из небольшого документа. Не самое сложное из того что я встречаю, однако, сюрпризов хватает. У них MS Excel, у меня LibreOffice, так что все еще веселее.
Именованные диапазоны - удобно, да... Такс, куда оно указывает?.. На внешний файл в Dropbox-папке у одного из пользователей? А здесь у нас макрос, который скачивает и парсит xml-файлик, но запустить все равно не получится, так как под Linux нужная DLL почему-то не находится.. А тут что у нас?. Какая прелесть - логин и пароль от базы данных в открытом виде!
Пользователи Excel, которые пишут в нем сложные формулы - это, чаще всего, не программисты. Тем сложнее всем остальным разбираться в их файлах после них. Если программисты, хотя бы, знают что интогда нужно писать комментарии, то в Excel не так-то просто это делать..
Именованные диапазоны вообще никогда не использовал. За ненадобностью. Сложные формулы гораздо проще читать, когда видишь прямые адреса.
Солвер настраивать надо долго и упорно. Мне в тех случаях, где задачи под это были, лично проще написать макрос под ту же операцию.
Макросы под линуксы не запускал, я не работал в компаниях, где такой зоопарк систем. Но. похоже, с импортозамещением придется все переписывать.
Сложные формулы гораздо проще читать, когда видишь прямые адреса.Это Вам реально сложные не попадались. Когда формула на три-пять строк.
В версии экселя 2003 и ранее без имен зачастую вообще невозможно было уместиться в ограничение на 1024 знаков в строке формул.
Это Вам реально сложные не попадались. Когда формула на три-пять строк.
а именованные диапазоны проще? Особенно если их в этой формуле несколько.... Не думаю. Сколько встречал, все время была проблема - выяснить, что буковки означают. Причем некоторые именуют диапазоны схоже с именем формул. Вот где квесn.
В целом многоэтажных формул удавалось избегать, потому что писал пользовательские функции. Обновляется не быстро, но лучше, чем выискивать ошибку в четырех этажах, к тому же можно было написать свой обработчик ошибок.
все время была проблема — выяснить, что буковки означаютОсмысленные имена? Впрочем это проблема не только экселя, да и вообще не ПО, а того, кто дает эти имена.
Или проблема в том, что неизвестно где это выяснять в экселе? Так вот же, слева от строки формул, где обычно адрес активной ячейки. Там конечно не все имена видны, но можно и сразу в Диспетчер имен, заодно понятно, что если имя видно только в диспетчере, то оно динамическое или не ссылается на диапазон
Обновляется не быстроЭто почему? Application.Volatile не слышали?
но лучше, чем выискивать ошибку в четырех этажахЧем лучше? Там и там Вы читаете код. Оно конечно приятнее читать собственный код на VBA, но для меня разницы нет. Это все равно, что сказать "<питон, C> мне лучше <джавы, R> — и читается лучше и я умею там в обработчик ошибок, а в джаве нет" (подставьте в угловые скобки языки по вкусу).
Мне вообще непонятно противопоставление: формулы vs имена vs пользовательские функции. Это три инструмента, которые надо применять там, где они удобнее. А лучше совмещать.
У Вас в организации с бизнес-процессами все не так. Аналитики эту штуку рисуют потому что им дали ТЗ. вот когда они рисуют по ТЗ, давать ТЗ должны были и Вам, чтобы не разбираться в экселе
С другой стороны, в экселе разобраться может почти каждый, кто с ним работал. А кто будет разбираться в пандасе-питоне? Пушкин? или в каждый отдел нанимать питонистов
p.s. Взяли бы в отдел аналитики чела хотя бы после яндекс-практикума. Там (и не только там) учат и питону и пандасу. делали бы все на месте и сразу в одном отделе
Ну, у нас не такой большой штат для всего этого. Я, фактически, один эникею.
А в pandas они тоже до этого писали и запросы в базу делали, но я когда увидел - все отобрал и теперь стараюсь все контролировать сам.
Так-то конечно да - сначала требования, документы. Только этот xls-файлик, по сути, и есть требования.
Продвинутые аналитики сначала реализуют гипотезы для которых еще нет ТЗ в природе. И если гипотеза подтвердилась - ее надо в продакшен, и тогда уже пишется ТЗ (часто все ТЗ и бывает - сделать как в этом Экселе)
«Что может говорить лысый об искустве Герберта Фон Карояна, особенно если ему сразу заявить, что он лысый» (с) Жванецкий, по мотивам.
На самом деле я с вами согласен. Мне пришлось переписывать 120 тысяч строк кода VBA на более пригодные для работы языки. Причем это было несколько файлов, некоторые из которых запускались/открывались, подключались к шине данных, и сосали данные из Reuters, к примеру. А потом считали доходность бондов, и сохраняли ее куда-то в папку. Ну примерно как у вас. Разбираться в этом ужасно неудобно. И да, пишется это людьми, которые не очень разбираются в промышленной разработке. Мы когда начали переписывать, так первое что я сказал, что нужно полностью разделить код от таблиц, положить его в VCS, и подгружать в таблицу при сборке. А таблицу с кодом сделать плагином, и подключать к таблицам с данными.
Мне кажется, что основная проблема именно в том, что пишут не программисты. И у них нет понимания, как сделать так, чтобы это не просто отработало один раз, а работало стабильно, развивалось и поддерживалось. Ну то есть, о такой простой для программиста вещи, как логирование, как правило не задумываются. О метриках и мониторинге — тоже.
Зайдем с другой стороны. В каком еще инструменте непрограммисты смогут попробовать и реализовать столько своих идей?
При этом недостаточно крут, чтобы адекватно загружать данные из CSV файлов. Особенно это странное желание все что хоть немного похоже на дату форматировать как дату.
Это не баг, а фича. Ссылку не дам, с телефона неудобно, но мамой клянусь, что на самом официальном сайте МС с самой официальной справкой так и написано - к сожалению, это неустранимая особенность работы ПО, поэтому можете попробовать воспользоваться некоторыми костылями (далее следует список возможных костылей, работающих чуть более, чем никак).
Угу, и чтобы денежный формат или дробные числа распознавал сам корректно. И не пытался самостоятельно считать нули слева лишними, думая что ему подсунули число
Используйте PowerQuery, там все это нормально можно настроить. Формат ячеек - это боль, причем легаси боль. С ней надо уметь жить.
Потому что я долго думал что же такое:
В Excel есть своеобразные «транзитные» массивыИ только уже по формулам вида
SUM(A:A*(1-0.5*(B:B="x")))
понял, что речь идет о формулах массива. И ни слова о том, что их надо вводить тремя пальцами и их принято выделять фигурными скобками {SUM(A:A*(1-0.5*(B:B="x")))}
, собственно как они в экселе и выглядят.В инсайдерской сборке есть несколько формул, которые ещё больше превращают Excel в нечто APL-подобное.Это у автора есть какая-то
С помощью связанных типов данных можно вставить в ячейку позу йоги — и Excel скажет, насколько она сложная.Можно это еще раз на русский перевести? Как говорится, ниасилил.
Резьюм: Автор открыл для себя имена, веб-запросы и еще пару фишек. Ух ты, это круче гуглотаблиц. Всё.
Да тут, кроме сомнительной ценности самой статьи и переводчик не сильно старался..
Hillel Wayne
Хилла Уейна
Я бы перевел как "Хиллель Уэйн".
Абсолютно согласен. Восторг автора от найденных формул и фишек -- это ежедневная рутина моих аналитиков. И делают они, кстати, вещи намного сложнее.
В последних версиях фигурные скобки и ввод тремя пальцами для массивов уже не требуются. Скорее всего, поэтому они и не упомянуты - автор просто не знает, не рассматривает более старые версии.
У меня в 2016 всё еще требуется
В ячейке А4 та же формула, что и в В4, но без трех пальцев.
И где почитать, как эксель понимает, что надо относиться к формуле как к массиву? Потому что у меня здесь пример не удачный — без трех пальцев дает #ЗНАЧ!, а бывает, что просто разные числа, без ошибок.
Затрудняюсь ответить. У меня на рабочем компьютере Office 365, поэтому с версиями тяжело сейчас, что и когда они обновляют, добавляют. Но изменили они это раньше, в 2019, по-моему.
Значит фича совсем свежая, от 365го.
Наверное, всё просто: =СУММ() дали сделали такой же, как и =СУММПРОИЗВ(), которая с незапамятных времен была функцией массива и не требовала трех пальцев.
Интересно, какие еще функции стали функциями массива?
Даже удивительно, насколько он круче Google Sheets
Мне кажется, это не совсем верное заявление. Они как раз примерно равны, как и говорят многие обзорщики. Пробежался по перечисленным в этой статье фичам, они все есть в Google Sheets
Named ranges: есть https://support.google.com/docs/answer/63175
LAMBDA: есть https://support.google.com/docs/answer/12508718
Заливка: есть, сам регулярно пользуюсь
Источники данных: есть https://www.youtube.com/watch?v=SEY6mrZwQLo
Транзитные массивы: есть, сам пользовался несколько раз, регулярки через эту фичу матчи выводят, например
И даже написание своих функций на языке программирования есть (они на js пишутся). Причем, это не макросы, а именно обычные функции, которые можно использовать в формулах и, так как Гуглдоки это онлайн-система, нет проблем с их выполнением на любой машине.
Дык как могут быть равны, если даже по кол-ву менюшек гугл-таблицы в разы меньше. Опытный экселевед легко накидает 20 пунктов, которых нет в гугл-таблицах, ну потому что раз и сделать бесплатный продукт (даже если ты гугл) с теми же функнциями не так просто
А еще, гугл таблицы не переваривают больше объемы, просто страница падает, когда я копирую из одних ячеек в другие много инфы. А экселю пофиг
экселю не пофиг. в нем есть ограничения
а про BigQuery в гугл таблицах слышали?
до петабайта данных масштаб!
ну может биг квери и есть, а вот скопировать из столбца в столбец для файла (который у меня на декстопе занимает 50мб) для гугл-таблиц непосильная задача. А эксель справляется с легкостью.
читаю про BigQuery
Экономичное, бессерверное, многооблачное хранилище данных для поддержки ваших инноваций на основе данных
а причем тут гугл-таблицы вообще? Облачное решение использовать, чтобы перекинуть 50метров из столбца в столбец ? не, это не мой метод
https://support.google.com/docs/answer/9702507?hl=RU
Как начать работу с данными BigQuery в Google Таблицах
При работе с функцией подключенных таблиц, которая представляет собой новый коннектор данных BigQuery, вы сможете просматривать, анализировать, представлять в наглядном виде и отправлять другим пользователям миллиарды строк данных из своих таблиц.
то есть в гугл-таблицах просто коннектор к гугловскому облаку. Ну супер. а что толку, если гугл-таблица падает при работе даже с 50мб?
DAX есть?
Так-то всё это есть в документации к офисному продукту. И те, кому интересно разобраться с собственными инструментами её читают.
Все эти возможности Excel уже доступны много лет, разве что чуток упростили с новыми функциями.
При этом автор позиционирует себя как обладающим «extensive teaching experience», но такая элементарная вещь, как разобраться с базовыми интсрументами почему-то приходит в голову в последнюю очередь.
Excel очень крут