Фрагмент таблицы данных из научной работы «Тканеспецифическая экспрессия и регуляция генов полового диморфизма у мышей» (doi:10.1101/gr.5217506)

В электронных таблицах Microsoft Excel по умолчанию установлен формат ячейки «Общий». Многие сталкивались с тем, что Excel ни с того ни с сего конвертирует введённое значение в дату. Это самая распространённая ошибка автоматической конвертации. Чтобы избежать её, следует изменить тип данных с «Общего» на «Числовой» (для чисел) или «Текстовый» (для текста). В последнем случае введённые данные вообще не будут конвертироваться.

От автоматической конвертации страдают неопытные пользователи Excel. Удивительно, что среди этих неопытных пользователей — большое количество учёных. Автоматическое сканирование публикаций в базе PubMed с помощью набора bash-скриптов показало, что около 20% таблиц с данными в научных работах по генетике содержат ошибки конвертации данных Excel в названиях генов!

Сначала авторы исследования проверили все основные генетические символы человека — и выяснили, что Excel с установками по умолчанию автоматически конвертирует 35 генетических символов человека, превращая их в даты: это гены FEB1, FEB2, FEB5, FEB6, FEB7, FEB9, FEB10, MARCH1, MARC1, MARCH2, MARC2, MARCH3, MARCH4, MARCH5, MARCH6, MARCH7, MARCH8, MARCH9, MARCH10, MARCH11, SEPT1, SEPT2, SEPT3, SEPT4, SEPT5, SEPT6, SEPT7, SEPT8, SEPT9, SEPT10, SEPT11, SEPT12, SEPT14, SEP15, DEC1.

Порядок выбора названий генетических символов установлен правилами, по которым максимальная длина ограничена шестью символами, а название должно быть сокращённым названием гена или аббревиатурой, так что все септины кодируются в SEPT, а все рекомбинантные белки (Membrane-Associated Ring Finger) начинаются с MAR.

Ситуация становится хуже, если учитывать синонимы. Например, генетический символ CRNN (идентификатор гена 49860) имеет синоним SEP53, который Excel превращает в сентябрь 1953 года.

Белок каптин с утверждённым символом KPTN имеет синоним 2E4 (идентификатор гена 11133), который превращается в число 20000.

Интерферон-индуцируемый трансмембранный IFITM1 белок с алиасом 9-27 (идентификатор гена 8519) превращается в 27 сентября.

Программа Excel — настоящее минное поле для генетиков, ведь в генетической номенклатуре есть такие идентификаторы как 201E9, 9130022E09, 3e46, NA, NaN и т.д. Таким образом, Excel конвертирует генетические символы не только в даты, но и числа с плавающей запятой. Например, 2310009E13 превращается в 2.31E+13.

Составив список возможных ошибок, авторы научной работы скачали сопроводительные электронные таблицы со всех научных работ, опубликованных в 18 научных журналах с 2005 по 2015 годы. Для междисциплинарных журналов выборку ограничили научными работами со словом «геном» в названии. Таблицы сконвертировали в формат .tsv и пропустили через regex с поиском заданных строк. Они взяли скрипт 2004 года и добавили туда ещё несколько форматов дат (DD/MM/YY и MM-DD-YY). Скрипты запустили на Ubuntu v14.04 LTS с оболочкой GNU bash версии 4.3.11.


Скрипт 2004 года, когда проводилось аналогичное исследование автоматической конвертации генетических символов в научных работах

Ошибки в научных работах содержатся в электронных таблицах, которые публикуются в качестве сопроводительных материалов к научным работам. Почти тысяча научных работ с ошибками перечислены в первой колонке этой таблицы.

Всего было проанализировано 35 175 сопроводительных электронных таблиц. Обнаружено 7467 списков генов в 3597 научных работах. Ошибки конвертации Excel найдены в 987 сопроводительных файлах для 704 опубликованных научных статей. То есть для данной выборки процент научных работ, в которых сопроводительные таблицы Excel содержат ошибки конвертации, составляет 19,6%.



По непонятной причине обнаружена положительная корреляция между влиятельностью журнала (journal impact factor, JIF) и процентом научных работ с ошибками в сопроводительных файлах (Spearman rho?=?0.52, two-sided p value?=?0.03).



Анализ также показал, что количество научных работ с ошибками возрастает примерно на 15% в год в течение последних пяти лет, обгоняя общий рост количества научных публикаций (3,8%).

Авторы предлагают обратиться к разработчикам Microsoft. Все желающие могут отправить им сообщение через Excel’s Suggestion Box или через твиттер (у разработчиков Excel есть аккаунт в твиттере).

Проблема с автоматической конвертацией научных символов в электронных таблицах Excel поднималась неоднократно. Ещё в 2004 году авторов научных работ предупреждали о том, что идентификаторы генов автоматически искажаются в программе Excel. К сожалению, за прошедшее десятилетие проблема не была решена. Наоборот, стало выходить ещё больше научных работ по биоинформатике с ошибками.

В какой-то степени в ошибках виноваты сами авторы научных работ, которые недостаточно хорошо знают интерфейс программы Excel, не умеют менять тип данных в формате ячейки, не проверяют тщательно таблицы с сопроводительными данными. Виноваты и рецензенты, которые принимают такие работы для публикации, тоже не проверив таблицы. Составители таблицы с ошибками специально отметили несколько случаев, когда ошибки конвертации встречаются уже в первых строках сопроводительной таблицы, что говорит о недостаточной внимательности авторов научных работ и рецензентов.

Вообще, в научных работах встречаются даже более нелепые ошибки. Например, в журнале по ядерной физике в 1991 году была опубликована научная работа с опечаткой прямо в заголовке. Вместо фразы «адронный коллайдер» ("hadron collider") в печать пошла фраза "hardon collider", имеющая совершенно иной смысл.

Разработчики компьютерных интерфейсов отлично знают, что абсолютное большинство пользователей не меняют настройки по умолчанию в программах. Если в Excel установлен по умолчанию тип данных «Общий» — то он будет использоваться, так что появление ошибок с автоматической конвертацией в научных работах по биоинформатике и генетике вполне предсказуемо.

Авторы исследования отмечают, что не существует способа навсегда отключить автоматическую конвертацию данных в Excel и других электронных таблицах LibreOffice Calc и OpenOffice Calc. Каждый раз нужно устанавливать тип данных вручную. Исключение составляют таблицы Google Sheets, где не происходит искажения данных. Более того, при повторном открытии таблиц Google Sheets в программах Excel, LibreOffice Calc или OpenOffice Calc генетические символы вроде SEPT1 и MARCH1 защищены от конвертации в даты.
Поделиться с друзьями
-->

Комментарии (66)


  1. azsx
    24.08.2016 12:40
    +6

    Что еще раз подтверждает, что никто этот информационный поток не контролирует и никому он по большому счету не нужен. Хоть ученые пишут, хоть блогеры.


  1. bougakov
    24.08.2016 13:40
    -1

    Не вижу никакой проблемы. Текстовые названия генов не участвуют в формулах — на них не умножают.

    Визуально в англоязычной версии Excel «MARCH6» и «March, 6» выглядят схоже и специалист-генетик всё поймёт без ошибки. Это только в кириллической версии Excel заметнее.

    Проблема высосана из пальца.


    1. LAG_LAGbI4
      24.08.2016 14:07
      +10

      Проблема не высосана из пальца. Вопрос отображения данных дело десятое, проблема в том, что excel меняет значения ячеек самым непредсказуемым образом. Например, если написать 1.01, то эксел меняет его на 1.янв, а при переводе типа ячейки на числовой ячейка превращаяется в 42370,00. Если в таблицу excel вставлять какую либо выгрузку, то сначала нужно расчитать, где какого типа ячейки и только потом вставлять. Это не удобно.


      1. ploop
        24.08.2016 14:22

        LibreOffice в случае нераспознавания формата (например, из-за десятичного разделителя) вставляет его как текст. Тоже неудобно, но во-первых он спрашивает перед вставкой (диалоговое окно), во-вторых не гробит данные, их потом можно преобразовать.


        1. EndUser
          25.08.2016 09:13
          +1

          Open/LibreOffice вместо этого хватает всё, что ни попадя, чтобы наложить свои потные руки самовольной, непредсказуемой и часто скрытной конвертации.

          Я вёл для себя справочник техники ВВ2 и реально затрахался когда 12.7 (калибр) преобразуется в 12 июля (иногда 7 декабря). Но это ещё можно понять — ведь такое число редко у людей означает оружие. Но ОЛОЛО упорно преображает в 1 июля 1962 угадайте что.

          Я у них на форумах и трекерах поднимал вопрос, который предлагал решить ручным заданием форматов ввода внутри приложения, вместо умолчательных из ОС.

          Я как программист давно привык к точке в качестве десятичного разделителя и физически не вижу цельного числа в записи «12,7». С другой стороны разделитель даты у меня в ОС — знак дроби. Когда я осознанно хочу написать дату, я всегда печатаю «31/12/1999». И что бы вы думали? ОЛОЛО предприимчиво захватывает почти все возможные форматы написания даты как руководство к своему гадству. ОЛОЛО 5-6 обязательно превращает в 5 июня. КАК?!

          Их ответ состоял всегда из пожимания ушами.
          Что вынудило меня избегать Open/LibreOffice с 2005 года.

          У MS эта проблема есть, но гораздо, гораздо! менее острая. И в Excel хотя бы можно определить десятичную точку.

          Что касается предыдущего комментария bougakov «на ген не умножают» — я отвечу, что при разных региональных настройках в разных уголках земного шара разным читателям рисуется весьма разнообразная туфта.


          1. ploop
            25.08.2016 09:33
            +1

            с 2005 года.
            Подумаешь, 10 лет прошло :)
            Нет, при вводе таких проблем нет. Только что проверил: 12,7 — число, 12.7 — текст, 31/12/1999 — текст, 31.12.1999 — дата.
            Всё ровно.


      1. bougakov
        24.08.2016 14:24
        +3

        Если вы вставляете в Excel какую-то выгрузку чаще, чем раз в год, вы знаете про «Мастер импорта»:



        Для новичков-любителей Excel ведёт себя правильно: в него чаще через copy&paste переносят графики-платёжки, чем коды генов.


        1. ploop
          24.08.2016 14:27
          +5

          … вы знаете про «Мастер импорта»
          Который работает с файлами, а не с буфером обмена.


          1. pvvv
            24.08.2016 19:06
            +1

            если вставляете текст, после того как из буфера обмена вставили, еще раз на Ctrl нажмите, вылезет менюшка «Use Text Import Wizard...»


            1. ploop
              25.08.2016 07:30
              +1

              Ну вот, откуда знать такие тонкости, если работаешь с ним несколько раз в год?
              А так спасибо, запомнил :)


        1. BlinskiyBlin
          24.08.2016 14:49
          +1

          В нем отсутствует возможность выбора формата данных для всей таблице сразу, нужно его выбирать отдельно для каждого столбца. Если таблица содержит под сотню столбцов, работать с мастером становится практически невозможно, особенно с учётом ужасно работающей прокрутки в окне предпросмотра.


          1. bougakov
            24.08.2016 15:51
            +1

            Если «таблица содержит под сотню столбцов» то перед вставкой умный пользователь Excel нажмёт Ctrl+A и Ctrl+1 и сделает ячейки «текстовыми». Те столбцы, где у него числа, он отформатирует как надо с помощью Crl+Shift+!

            Ещё раз — Excel запрограммирован на удовлетворение нужд пользователя по самым частотным сценариям работы. Power users учат keyboard shortcuts и с помощью Excel могут запустить хоть ракету на Луну.


            1. ploop
              24.08.2016 15:58

              перед вставкой умный пользователь Excel нажмёт Ctrl+A и Ctrl+1 и сделает ячейки «текстовыми»

              Для пользователя логичнее поведение «вставить -> от форматировать», а не «отформатировать -> вставить». Во всяком случае до первых косяков.


              1. bougakov
                24.08.2016 16:02

                Для тех пользователей, кому «логичнее» (для простоты назовём их «чайниками») в Excel встроены эвристики, они хорошо отрабатывают 99% юзеркейсов.

                Если «чайник» вырос из коротких штанишек (то бишь ему надо за эвристикой поправить ручками не 2-3 косяка, а побольше, и он замудохался), то «чайник» идёт к старшим товарищам советоваться, спрашивает у Google или берёт книжку, наконец.

                Так из «чайников» вырастают юзеры.

                И генетик может быть чайником, кстати, и чо?


                1. ploop
                  24.08.2016 16:10
                  -1

                  Так из «чайников» вырастают юзеры.
                  Которым Excel нахрен не сдался, и через месяц-два он это забыл. А потом опять по кругу: косяк, мат, гугл.


            1. maldalik
              26.08.2016 04:29

              Простите, но вот ситуация: вставляешь через буфер таблицу и там часть строк в столбце преобразуется в дату, а часть остается числами…
              Я не верю что большинству пользователей требуется такая гибридная таблица. Я даже представить не могу, кому такое может понадобиться…


        1. Starche
          24.08.2016 22:01

          Неправильно он себя ведет. При вставке чисел форматированных с точкой в десятичном разделителе русская версия Excel их в даты превращает. Я вам как новичок экселя заявляю, что это дерьмовая эвристика, и оооооочень частый юзкейс у всех моих знакомых новичков экселя


      1. bopoh13
        24.08.2016 14:25

        Именно высосана из-за нежелания брать ответственность того, кто не знает Excel.
        По умолчанию стоит «общий» формат. Если операций не предполагается, необходимо колонки перевести в «текстовый» формат. Бесплатных англоязычных курсов полно, книжек выпущены горы.
        Почему-то у инженеров не возникает вопросов перед работой ознакомится с документацией к программе. Excel — это таблица с датами (которая хранится в виде числа), цифрами и текстом, а не база данных по работе с генами (где формат задаётся жёстко).


        1. 4ebriking
          24.08.2016 15:53

          Как человек, наблюдавший и наблюдающий, с под сотню наверное, инженеров, сидящих чуть ли не круглосуточно в «Солиде» да Автокаде с Компасом впридачу — вот с Экселем-то как раз у них в массе своей — проблемы есть. Именно из-за непредсказуемости и неочевидности его поведения, в т.ч. и данного конкретного внезапного превращения любой новой добавленной колонки в дату в самый неожиданный момент.


          1. bougakov
            24.08.2016 16:05

            У Автокада счёт пользователей на миллионы (и те — с высоким входным цензом), у Excel — сотни миллионов и на порядки более разные юзеркейсы. Соответственно, эвристики или умолчания в Автокаде будут работать в 99% случаев, а в Excel — в 95%.

            Автокад может себе позволить иметь линейку продуктов — для архитекторов, для чертёжников, для проектировщиков узлов — где интерфейс затачивается под каждого — а у Microsoft — Эксель один на всех.


          1. bopoh13
            24.08.2016 16:21

            Ячейка имеет такие же свойства, как и другой объект. Ничто не мешает продумать структуру таблицы и перед заполнением установить формат колонки отличный от «общий». В MS Office даже шаблоны придуманы, чтобы 10 раз не ходить. Совсем другое дело, если пользователь решит скопировать данные из ячейки с датой и вставить её вместе с форматом в колонку с текстовым форматом, например (для «вставки значений» в Excel есть отдельная кнопка, которая расположена в меню «Специальная вставка...»).
            Если у вас есть какой-то конкретный бажный пример, пожалуйста, запишите видео.


            1. 4ebriking
              24.08.2016 17:34

              да сам я из экселя вообще микросхемы прошивал было дело, программы в нём пиша (эххх было дело, в НЕХ-кодах основа, далее скриптами вращать паттерны, потом LPT, да… (хотя не, сама прошивка «copy to prn» всё же)) но матерящихся инженеров, которые при этом гуру в какой-нибудь аэрогидродинамике или там многотрубной гидравлике открытых/мягких каналов — видел неисчислимое число раз.
              Просьбу же записать видео внезапной конвертации в дату при открытии csv файла где-нибудь на третьей странице неск. значений — глазами это сразу не ловится и кирдык — разве что только если Вы из МS и пообещаете исправить багу "к исходу сентября"


              1. bopoh13
                24.08.2016 18:21

                Микросхемы из Excel шить — это круто! К сожалению, я не из Микрософта. Удивлён потому, что с 14 версии багов не видел. Хотя и не утверждаю что Excel идеален, — пользователей нужно учить работать и где-то ограничивать для эффективной работы.


              1. bopoh13
                25.08.2016 19:53

                Исключить ошибки при импорте в csv: для сохранения текстового формата нужно указать перед строкой одинарную кавычку.
                У Майкрософта есть статья «Отмена автоматической замены чисел датами». Проверить ячейки (визуально), которые должны иметь текстовый формат можно с помощью условного форматирования: =ЯЧЕЙКА(«тип»;A1)=«l»


        1. ABy
          24.08.2016 17:51
          +2

          >Почему-то у инженеров не возникает вопросов перед работой ознакомится с документацией к программе.
          Всегда думал, что инженеры руководствуются аксиомой Кана:
          «Если ничто другое не помогает, прочтите, наконец, инструкцию.»


        1. DimkaI
          24.08.2016 22:19
          +2

          Выскажу своё наблюдение, хоть меня и заминусят местные.

          Очень часто на работе сталкиваюсь с людьми, профессионалами в своём деле, например доктора. Современные требования делопроизводства их вынуждают работать за компьютером. И, когда они сталкиваются с необъяснимым, с их точки зрения, поведением программ, они не стремятся разобраться, а вызывают «Чипа и Дейла», которые спешат на помощь, то есть звонят в службу ИТ с требованием исправить компьютер. Если им пытаться что-то объяснять, то они часто отвечают: — Зачем мне разбираться в компьютере, это же вы в них спец! Вы же за меня не будете людей лечить! У меня за дверью очередь из пациентов, а тут ваш компьютер не работает! И ведь, действительно, с их точки зрения не работает. Он вводит одно, а в ячейке отображается совсем не то, что он вводил, а то, что умный Ёксель решил за него исправить. И очень жаль, что невозможно хотя бы для конкретного пользователя отключить нафик всю эту заумность и оставлять данные в том виде, как их ввели в любом, не только в уже открытом, но и в создаваемом документе.


          1. ploop
            25.08.2016 07:36

            Да верно всё, это беда очень большой универсальности. Хотя бы сделали несколько режимов работы, начиная от «тупой» таблицы (один грид, без формул, из форматирования B-I-U максимум, никакой эвристики, ничего, да, такие тоже нужны!), ну и заканчивая полным фаршем как есть.


            1. bopoh13
              25.08.2016 11:17

              Большая универсальность — действительно проблема. Давайте пойдём с другого конца: альтернатива Excel есть?
              Режим «тупой» таблицы для пользователя сделать не проблема, только нужно знать чем он будет пользоваться (а лучше как работать).


              1. ploop
                25.08.2016 11:36

                Давайте пойдём с другого конца: альтернатива Excel есть?
                Есть то есть (тот же LO/OOo), но там своих причуд хватает.
                Собственно, вся дискуссия о том, что тот же Excel можно сделать чуть-чуть лучше, убрав несколько назойливых моментов.


          1. Jesting
            25.08.2016 09:20
            +1

            Специально для этого случая можно создать шаблон и открывать именно его.


          1. Ezhyg
            25.08.2016 10:15

            Дело в том, что Excel — т.н. табличный редактор процессор (да, устарело), а не просто редактор текстов оформленных в виде таблиц. Я тоже много раз пробовал объяснять разницу, часто впустую. Чаще всего, потому что «вышестоящие» «требуют вот так» :(.
            Если нужно работать с текстами — так работайте с текстами (ну, с док.ами, ладно)! Делайте текстовые файлы и вставляйте там сколько угодно таблиц.


          1. Winnie_The_Pooh
            26.08.2016 11:26

            Сделайте макру или модуль на VBA, которая будет выполняться при создании нового документа, создании листа и форматировать листы так как вам надо. Например выделять весь лист и присваивать всем ячейкам нужный формат (например — текстовый)
            Также мне смутно помнится, что если в определенной папке лежит файлик с расширением XLA — он автоматически подхватывается при старте экселя и макросы\vba подпрограммы из него инкорпорируются в набор утилит и становятся доступными в любом документе.

            Определенные минусы у такого решения конечно есть.


            1. DimkaI
              26.08.2016 11:36

              Политиками домена запрещено выполнение любых скриптов и макросов дабы уберечь от лукавого, а равно любых приложений, которые не были установлены на компьютере при организации рабочего места. Так что ваше предложение, как и создание шаблонов это скорее костыли от безысходности, чем нормальный продукт.


              1. Winnie_The_Pooh
                26.08.2016 11:50

                Согласен.

                Но тут руководство предприятия должно оценить риски разрешения запуска конкретных макросов и убытки от проблем с потерей инфы и возможно пойти на доп расходы, чтобы сделать конкретный файл подписанным и доверенным (trusted).


                1. azsx
                  26.08.2016 11:55

                  Можно создать шаблон excel файла, который сразу делает все ячейки текстовыми.
                  уже оффтопик
                  Только новость совсем не о том, что excel форматирует данные согласно своим алгоритмам. Новость о том, что 20% таблиц были неверными! Любой живой человек, если бы он таблицы читал — увидел бы проблему и указал бы на нее. Но узнали о проблеме только скриптом, живые люди таблицы из этих исследований не читают. Просто информационный шум, чтобы диплом более пухлым казался.


                  1. Winnie_The_Pooh
                    26.08.2016 12:01

                    Скорее всего дело в том, что таблицы эти набирают юные девочки\мальчики с бумажных страничек, выданных корифеями. Никто потом их не проверяет.
                    По моему опыту наблюдения за работой разнообразных набивалочек — до 20% данных потом содержат ошибки. Им платят за объем, а не за качество.


              1. bopoh13
                26.08.2016 15:47

                Макросы можно подписать даже по eToken ГОСТ (3 криптопровайдера точно с ним умеют работать). Затем в настройках Excel отключаем все макросы кроме макросов с цифровой подписью. Сертификат устанавливаем на рабочие машины в «Доверенные издатели». Физический ключ нужен только для подписи. Никаких костылей.


                1. DimkaI
                  26.08.2016 16:06

                  Вы согласны, что использование макросов, надстроек и прочего не является использованием продукта «из коробки»? Если нет, то дальше нет смысла продолжать дискуссию. Ведь Вы уже предлагаете для написания одного документа использовать не один программный продукт, а целых три! Собственно само приложение, макрос и криптографический продукт для подписания этого макроса. Это и есть ни что иное, как костыль. Да и ваше утверждение схоже с «А для работы с этим пикселем вам надо установить другое приложение и перезагрузиться».


                  1. bopoh13
                    26.08.2016 16:48

                    Простой макрос напишет даже любопытный менеджер, а он не сис.админ! У «макроса из одной процедуры» трудозатраты ничтожны :) У вас претензия была к безопасности. Может Вы знаете как код без сертификата подписать? Нет. Тогда удачи в поисках универсального продукта «из коробки» который подойдёт под ваши политики :) 1С-ники вам напишут нетиповой продукт под ваши конкретные задачи, только цену продукта ваше руководство вряд ли одобрит (хотя, если у вас свой штат...).

                    Последнее предложение не понял. Как вариант, если в компании уже закуплен MS Office и токкены, в чём «костыль» (дыра в безопасности)? Может у вас просто личная неприязнь к токкенам?


                    1. DimkaI
                      26.08.2016 17:09

                      Доктор, медсестра не напишут. Им это не нужно, даже работают за компьютером не потому что хотя, а потому что требуют, им проще в истории болезни ручкой исписать 5 листов, чем 3 строчки в ворде или в экселе вбить.
                      Токенов нет, а если и есть, то стоят далеко от рабочих мест и используются не для подписания макросов.

                      Теперь про костыли.
                      Если человек (программа «из коробки») встав с постели не может самостоятельно идти к столу, ему вручают костыли (макросы), чтобы они были приятнее в руках, их обматывают бинтами (подписывают криптографическими программами). Теперь человек идёт к столу. Но это не самостоятельное движение, это движение с помощью костылей.


                1. ploop
                  26.08.2016 16:45

                  Вы реально думаете, что админ будет этим заниматься? Он просто пошлёт пользователя на х.. читать справку, и обоснует это начальству в случае чего.


                  1. bopoh13
                    26.08.2016 17:49

                    ploop: Надеюсь Вы согласны, что подписанный код — это не «костыль». По стандарту ИСО 17799 служба компьютерной безопасности должна контролировать IT. Вот у них нужно спрашивать, кто этим должен заниматься. Пользователь… Если у пользователя нет желания освоить базовые функции, — справка не поможет.

                    DimkaI: Макрос — это не костыль, а сценарий с заданным циклом выполняющий определённую задачу. Философия… Не согласен с метафорой «человек — программа», тогда скорее «растение — программа» (люди с псих.отклонениями часто прекрасно ходят сами, только реагируют неадекватно). Если пользователи с высшим 6-ти летним образованием не умеют работать с таким калькулятором как Excel (форматирование — базовая функция (4 щелчка мышью); пенсионеры в деревне по книжке базовые функции осваивают) — здесь не костыли нужны, а кресло-каталка.


                    1. DimkaI
                      26.08.2016 19:07

                      Хех, я не знаю как объяснить что это действительно костыль. Потому что он не устраняет причину, а делает возможным пользоваться инструментом тогда, когда сам инструмент этого не может предоставить. Если у человека сломана нога и перелом не лечить, он так и будет ходить на костылях, которые обеспечат ему возможность передвижения, но не устранят причину невозможности самостоятельно ходить. Ассоциация человек-программа наиболее наглядна в понимании костылей.

                      Почему многие программисты (возможно и я в их числе, не знаю точно), написав программу и видя, что она не всё выполняет как задумано, прикручивают новые и новые функции («сценарии с заданными циклами, выполняющими определённые задачи»), которые в уже готовом результате работы вносят коррективы, вместо изменения основного алгоритма программы, что было бы правильнее, при этом утверждают, что это самое правильное решение. Почему если им пользователи говорят, что их программой пользоваться неудобно, то вместо того, чтобы стало удобно пользоваться, они раздают кучу советов, как надо извернуться, какие дополнительные нужно сделать телодвижения, чтобы у них получилось сделать то, что пользователи хотели бы получить. Но никогда не признают что да, надо внести коррективы, сделать интерфейс, логику работы ближе к пользователю, а не к самомнению программиста?

                      Вспоминается анекдотичная ситуация: Вебмастер сдаёт выполненный сайт заказчику. Тот смотрит — в ИЕ сайт открывается хорошо, а в ФФ, хроме и опере весь плывёт. Предлагает исполнителю устранить косяк. Тот через 5 минут сообщает, что всё исправил. Заказчик проверяет. По прежнему в ИЕ открывается нормальный сайт, а в остальных браузерах показывает окно «Просматривать только в ИЕ».

                      Повторюсь, возможно я сам такой, со стороны на себя не смотрел, но стараюсь всё же перешагивать через себя и прислушиваться к пользователям. Ведь именно пользователи пользуются моими программами, и если им не нравится, они будут искать что-то лучше. И ведь найдут рано или поздно, а я останусь не у дел и без денег.


                      1. bopoh13
                        26.08.2016 20:00

                        Мы с вами существуем в разных реальностях (возможно, государствах). Пользователь всегда хочет, чтобы всё выполнялось одной единственной кнопкой, при этом далеко не всегда может объяснить, какие действия должны совершаться. Проявлять телепатию времени нет. Каждый сам взвесит аргументы и сделает выводы.


  1. ronekarleone
    24.08.2016 13:44
    +5

    Не могу представить ситуации, когда мне понадобиться иметь в ячейке Excel «сентябрь 1953 года». Так какого черта конвертация настроена так, что она конвертирует в никому не нужные данные. ИМХО, проблема все же в криво настроенной конвертации.
    Большинству людей она вообще не нужна: как ввели они SEP1, так и хотят они всегда видеть SEP1.


    1. bougakov
      24.08.2016 16:10
      +2

      Вам — нет. А миллионам рядовых людей, которые верстают в Excel расчёты бюджета, календари, и т.п. — ещё как.

      Если в Excel начать вводить хоть на русском, хоть на немецком первые буквы названий месяцев — он это понимает, и даже подхватывает при работе с диапазонами. Сотням миллионов людей это улучшает жизнь.

      Под ваши задачи более подходит СУБД. Для вас у MS есть Access. Правда тот факт, что в базовый набор он не входит, а поставляется только в «профессиональном» наборе, на что-то намекает.


      1. ZhenyaZero
        25.08.2016 16:35

        Мне кажется, конкретный пример даты был приведён не зря. Часто ли приходится расчитывать бюджет или верстать календари на 1953 год?


        1. konst90
          26.08.2016 09:13

          Мне кажется, если по умолчанию будут заменяться только даты например между 2010 и 2020 годами, пользователь запутается ещё больше. Так что или убирать для всех, или для всех оставлять.


  1. MrQuest
    24.08.2016 13:48

    И? На результаты расчетов то это никак не влияет, просто названия меняются при открытии файла, да и то не у всех, ибо конвертация зависит от региональных настроек и от настроек, собственно, автокоррекции.

    Эксель не может знать на перед ген это или просто текст, однако есть способы ему сказать, что то, что будет в ячейке считать текстом.


    1. konst90
      24.08.2016 14:08
      +4

      просто названия меняются при открытии файла

      Если бы. Содержимое ячейки пишется один раз и не зависит от настроек на машине, где её открывают.
      Более того — в тексте есть вот такой пример:
      Интерферон-индуцируемый трансмембранный IFITM1 белок с алиасом 9-27 (идентификатор гена 8519) превращается в 27 сентября.
      Если вбить в только что созданный файл эти «9-27», то они превратятся в «сен.27», то есть в первое сентября 2027 года (а не в 27-е, как пишет Ализар). Уже странно.
      А теперь делаем ещё страннее — меняем формат ячейки на общий в попытке вернуть всё как было. И «сен.27» превращается в «46631». Из которого вытащить исходное «9-27» вообще нельзя.


      1. jabr
        25.08.2016 04:39

        Поддерживаю. В свое время сначала сохранял файл с таблицей в Word, делал там все автозамены, потом экспортировал в Excell или Access.


  1. black_semargl
    24.08.2016 13:54
    +3

    Напомнило — «так как данный курсовой проект все равно никто читать не будет, делаем сердечник трансформатора из дерева»


  1. 4ebriking
    24.08.2016 14:08

    Всё же это не в работах а в публикациях этих работ на различных ресурсах, у самих исследователей, очевидно, всё правильно.
    Имел опыт с публикацией на одном корпоративном портале — редакция мозг выела форматом оглавления, списка литературы и отступами абзаца, зато графики САМА привела в абсолютно нечитаемый вид, переведя всю температуру в кельвины и начав шкалу от 0, типа «у нас это корпоративный стандарт и ничего мы менять не будем», то что график стал тупо полочкой в районе цифры 600 их не просто не парило, а, похоже, скорее добавляло эстетического удовольствия. (график в виде картинки — принимать отказывались столь же категорически — только эксель, график автоматический из столбца таблицы или формулы). Правильно было бы послать такую редакцию, но корпорация оплачивает работу только после публикации результатов на своём портале.


  1. Alexey_mosc
    24.08.2016 15:10
    +1

    Я потел с похожей проблемой. Получилось так, что потенциальный работодатель выслал в формате Excel данные, выгруженные из 1С, где все цифры уже поехали (часть из них превратились в дату).

    Расследование и поиск возможностей восстановить исходное число: http://www.cyberforum.ru/ms-excel/thread1394099.html

    Самое, что меня бесит, это то, что ответственные люди допускают такие косяки при переливке данных в Excel.


  1. SinsI
    24.08.2016 19:52
    -1

    Вообще убивает, что в научных учреждениях вместо чего-нибудь вроде SCIDAVIS или MATLAB используют для построения графиков крайне плохо приспособленные для этого офисные приложения — и при этом никто не удосуживается даже освоить добавление отображения погрешностей (которое, впрочем, появилось достаточно поздно (вроде с 2007))…


    1. LAG_LAGbI4
      24.08.2016 20:29

      Из этих программ неудобно вставлять в ворд. А именно там делаются отчёты. Для простых задач excel удобен


    1. zv347
      26.08.2016 07:53

      Отображение погрешностей точно есть уже в 2003 экселе и, думаю, появилось достаточно давно.
      Интересный факт: если рассматривать версии 2003, 2007, 2010, 2013, то в 2003 версии оно сделано наиболее удобно. Чем новее версия оффиса — тем больше щелчков мышью надо сделать, чтоб добавить к гистограмме погрешности.


  1. ACE46
    24.08.2016 22:19

    А как правильно regex или regexp?


    1. ArPi
      25.08.2016 17:25

      Смотря где :)


  1. potan
    25.08.2016 01:06
    +1

    Совмещение средств верстки и расчетов в одном инструменте — изначально плохая идея. Меня Excel этим всегда из себя выводил, когда приходилось им пользоваться. Да и другие системы «электронных таблиц».


  1. rionnagel
    25.08.2016 11:22
    +1

    А по мне так ничего удивительного. Люди заняты изучением своей темы, а не как работает ворд/ексель. Я для своих нужд использую notepad/notepad++ и nano/vim и мне всё ок, а эти грёбаные автозамены люто ненавижу т.к. просто не успеваю найти где их можно отключить до того, как терпение испарится (можно ли?). Конечно приходиться использовать пакеты libreoffice/openoffice/msoffice, но это скорее инструмент к частному случаю, а дополнительно изучать (запоминать куда ткнуть в интерфейсе) без особой нужды совсем нет желания. Другое дело конечно если это профессиональный инструмент, которым ежедневно пользуешься, тогда придется заморочиться.


  1. Andrey_geek
    25.08.2016 13:02
    +1

    Автопреобразование в дату в Excel всегда бесило. Приходится заранее преобразовывать в текст — очень неудобно и не всегда возможно. Вообще не люблю, когда программа решает, что лучше для меня без моего согласия. Почему это нельзя отключить на постоянной основе — не понятно.


    1. bopoh13
      25.08.2016 17:56

      Для сброса формата ячеек листа есть метод «Cells.ClearFormats». Впишите код «Target.Offset(-1).ClearFormats» в тело процедуры выделенного диапазона «Workbook_SheetSelectionChange».


  1. SINOD
    25.08.2016 13:27

    Т.е. некриворуки оказались только ребята из Гугла со своими таблицами, ахаха


    1. ploop
      25.08.2016 14:05
      +1

      То же самое, вставьте 1.01 в ячейку с «не региональной» точкой в качестве разделителя…


  1. pestilent
    27.08.2016 02:22
    +2

    Я давно уже пришел к выводу, что всё ПО делится на 2 типа: инструменты и опекуны. В сколько-нибудь нетривиальной программе сочетать и то и другое не получится: или одно — или другое. MS Office — типичные опекуны. Заботятся, чтобы пользователю не дай бог не пришлось лишний раз кликнуть. В результате, стоит на полшага отклониться от типичных ситуаций, начинается война с программой. Помню, как-то пытался исправить коряво выглядевшую таблицу в MS Word. Я прекрасно представлял, как она должна выглядеть, но Word упорно отказывался это понимать. У меня возникло полное ощущение, что у программы есть своя воля и она активно сопротивляется. В конце концов я сдался и оставил таблицу корявой.