«Лексикон-XL»: электронные таблицы Русского Офиса
Григорий Шмерлинг
Обычно аббревиатура XL (eXtra Large) на том или ином предмете гардероба указывает на то, что он предназначен для обладателей крупной комплекции. Справедливо ли это применительно к «Лексикону-XL», судите сами: количество дискет в комплекте поставки возросло по сравнению с «Лексиконом 97» с четырех до шести, занимаемое на диске место - с 12 до 15 Мбайт, а рекомендованная цена возросла более чем вдвое: с 40 до 90 долл. Пожалуй, по российским меркам «Лексикон-XL» уже нельзя отнести к дешевым продуктам.
Но за эти деньги пользователь получает «в одном флаконе» все, что нужно для обработки текстов и электронных таблиц: 2-й выпуск редактора «Лексикон 97», в котором дополнительно реализована работа OLE in place (с подменой меню «Лексикона» на меню OLE-сервера), и процессор электронных таблиц, который можно запускать и как отдельное приложение.
Одно нажатие кнопки с изображением конторских счетов - и на фоне текущей страницы «Лексикона» появляется типичная электронная таблица, в которую можно ввести необходимые данные и формулы (рис. 1).
Установим размеры так, чтобы в окне таблицы остались только необходимые результаты, уберем уже ненужные заголовки столбцов и строк и... щелкнем по листу документа. Готово: текст с любым сколь угодно сложным оформлением интегрирован с результатами вычислений в отправляемую на принтер страницу.
Возможности редактирования и оформления документов у нового «Лексикона» не отличаются от базовой версии без электронных таблиц. Это полнофункциональный современный редактор с таблицами, колонками, графикой, врезками, поддержкой списков и рубрикации, развитым страничным оформлением. Лексикон использует стилевую модель текста, но позволяет работать в «визуальной» метафоре, применяя наглядные инструменты для шрифтового, абзацного и страничного форматирования.
Обеспечивается обмен документами с Microsoft Word 6.0/95 и «Лексиконом» для DOS (естественно, сохранить все оформление при экспорте в редактор для DOS невозможно, но таблицы и начертание шрифта сохраняются).
Если «Лексикон» 97 выпускается и в 16-, и в 32-разрядном вариантах, «Лексикон-XL» и следующие версии как с электронными таблицами, так и без них будут только 32-разрядными. Несмотря на еще солидный парк 486-х компьютеров (особенно в государственных организациях), «Арсеналъ» пришел к выводу о нецелесообразности продолжения инвестиций в 16-разрядные приложения.
Электронная таблица «Лексикона-XL» представляет собой лицензированный и локализованный «Арсеналом» табличный процессор Formula One (Visual Components, Inc; Sybase, Inc.)
Сразу отметим, что, несмотря на всю нашу любовь к родному языку, при локализации было решено оставить в покое названия математических функций, не беря пример со ставших притчей во языцех «СУММКВРАЗН» и «СЛУЧМЕЖДУ» русифицированной версии Microsoft Excel. Единственное вмешательство состояло в замене названия DOLLAR для функции, выводящей число с заданной точностью в «денежном» формате: результат в рублях вам будет выдавать функция MONEY.
Рис. 1
Сравнивая таблицы «Лексикона XL» с Microsoft Excel по функциональности, отметим отсутствие средств макропрограммирования. Это ограничивает возможности автоматизации обработки данных, зато вы избавлены от страха перед новыми макровирусами, к которым «Лексикон» абсолютно невосприимчив. Нельзя работать с внешними базами данных, меньше число встроенных функций.
Впрочем, имеющихся 130 функций более чем достаточно как для инженерных, так и для финансово-эко номических расчетов.
По формату файлов табличный процессор совместим с Excel версий 4/5/7, возможен импорт табулированного текста. Чтение файлов электронных таблиц для DOS (SuperCalc, Lotus 1-2-3 и др.) не предусмотрено.
Не включены в «Лексикон-XL» имевшиеся в Formula One средства построения графических примитивов, зато возможности построения диаграмм по табличным данным удовлетворят любого эстета. Можно создавать различные виды плоских и трехмерных диаграмм, оформлять их всеми мыслимыми способами, снабжать надписями, резать на кусочки и рассматривать со всех сторон. Полученную картинку можно сохранить и в обычном графическом файле.
Например, подготовим диаграмму, отвечающую на вопрос: на каких компьютерах работают сегодня пользователи «Лексикона» для DOS и какая их часть может перейти на «Лексикон 97»? В таблицу (рис. 2) введены полученные обработкой анкет пользователей данные.
Рис. 2
Выделив группу ячеек, в которой находятся интересующие нас цифры, нажмем кнопку создания диаграмм.
Следующим движением мыши наискосок из угла в угол определим в таблице прямоугольную область для вставки графика, и перед нами появится Конструктор диаграмм. Выбираем вид диаграммы, и она тут же появляется на экране.
Расположим рисунок в центре, убрав из поля зрения исходные данные, а также заголовки столбцов и строк. Осталось ввести надписи и выделить сектор 286-х машин, щелкнув по нему и оттянув в сторонку (рис. 3).
Рис. 3
Очевидно, что возможностью работать в той или иной версии Windows обладает подавляющее большинство сегодняшних пользователей «Лексикона» для DOS. И не цена определила их выбор (полный набор сверхсовременных «Офисов» на пиратском CD в несколько раз дешевле самой дешевой честной программной коробки), а что-то другое. Простота работы? Надежность? Старые привычки? Несомненно, тут есть над чем подумать. Но вернемся к «Лексикону-XL».
Надо признать, что посвященный диаграммам раздел в первом издании руководства пользователя довольно краток, поэтому освоение оформительских тонкостей потребует от пользователя самостоятельных экспериментов с многочисленными контекстными меню и опциями.
Сама таблица может включать 256 столбцов и 16 384 строки, причем это параметры лишь одного из листов рабочей книги (поддерживается создание подшивок таблиц и связи между ячейками из разных листов).
После перехода от работы с таблицей к редактированию основного документа «Лексикона» в нем будет виден, естественно, только один текущий лист.
Интеграция электронной таблицы с текстом внутренне противоречива. С одной стороны, естественно желание сделать «электронной» обычную таблицу в документе, добавив расчетные возможности, но при этом сохранив предоставляемое текстовым процессором богатство оформления, режим WYSIWYG и единство интерфейса.
С другой стороны, очень неудобно работать с большой таблицей, всегда разбитой на десяток соответству ющих будущей распечатке отдельных страниц. Электронная таблица - далеко не то же самое, что лист бумаги в клеточку: это практически неограниченное пространство данных и связанных с ними алгоритмов, с учетом связей между листами рабочей книги - даже «трехмерное».
Работа со вставленной в документ электронной таблицей удобна лишь до тех пор, пока все табличные данные помещаются в отведенное им на странице окно. Для большой таблицы потребуется дополнительная прокрутка, и тогда работа будет быстрее и комфортнее, если «изъять» таблицу из документа. Сделать это можно, открыв ее как OLE-объект с помощью меню «Лексикона» или загрузив в табличный редактор lexxl.exe, запущенный как отдельное приложение.
В таком режиме возможна и автономная (не через текстовый процессор) печать, при этом разбиение таблицы на укладывающиеся по страницам блоки строк и столбцов производится автоматически. Если объемистую таблицу все же необходимо полностью включить в документ «Лексикона», придется записать ее в отдельный файл. Сохранив его, вставим несколько таблиц на следующих друг за другом страницах и откроем сохраненный файл в каждой из них. Теперь осталось навести появившееся на каждой из страниц табличное окно на свою часть данных большой таблицы и можно печатать.
Не секрет, что в офисной работе электронные таблицы чаще всего используют не столько для расчетов, сколько для хранения различных списков, прайс-листов и т.п. Таблица наглядна, в ней легко отразить структуру данных (в одной колонке - название фирмы, потом - фамилия, дальше - телефон и т.д.).
Поэтому, когда объем записей растет, а требующиеся при их обработке операции начинают выходить за рамки простого поиска, промежуточным звеном на пути от обычного текстового файла к реляционной базе данных чаще всего оказывается электронная таблица.
Если вам понадобится перенести в таблицу исходные данные из текстового файла, учтите следующие особенности.
Прочесть текстовый файл легко, если каждая запись занимает ровно одну строку: одной строкой она и попадет в таблицу. Кроме того, содержимое ячеек должно разделяться символом табуляции - такой текст называется табулированным. Если табуляция делается вставкой пробелов (так поступает «Лексикон» для DOS), вся строка попадет в одну ячейку.
Импорт в Microsoft Excel организован удобнее: вместо табуляции можно использовать «;» или иной символ-разделитель, управлять настройками помогает специальный мастер. Но если отдельные записи в исходном файле занимают более чем одну строку, и мастер не поможет: каждая такая запись рассыплется по нескольким строкам таблицы.
Помочь может эвристический анализатор «Лексикона 97», распознающий таблицы в текстовых файлах. Для успеха этой операции исходная таблица должна быть разграфлена; вместо разграфки допускается разделение ячеек ровными столбцами пробелов и пустыми строками. Будем действовать в два этапа: сначала откроем текстовый файл в режиме «Лексикон для DOS», а затем перенесем содержимое полученной обычной таблицы в электронную, копируя столбцы через буфер обмена.
В электронной таблице пользователю «Лексикона» становится доступным столь мощное средство обработки данных, как сортировка. Сортировать можно как строки, так и столбцы, причем одновременно по нескольким критериям (например, в первую очередь по названию города, затем - по фамилиям клиентов).
В следующем примере мы исследуем с помощью электронной таблицы распределение числа зарегистри рованных пользователей «Лексикона» по российским городам и весям. Очевидно, для этого удобнее всего воспользоваться почтовым индексом. Те, кто не сообщил его, в нашу статистику не попадут, но тут уж ничего не поделаешь.
Казалось бы, решить такую задачу очень просто: отсортируем список по почтовым индексам и подсчитаем число строк, пришедшееся на каждый регион.
Стоп. Исходные данные все время пополняются, и наш подсчет придется повторять заново. И потом, считать строки, работая в электронной таблице... нет, это несолидно. Поищем более изящный путь, начав с изучения списка доступных в таблице функций.
Нас выручит функция COUNTIF, подсчитывающая число ячеек, содержимое которых удовлетворяет заданному условию. Например, почтовые индексы Московской области занимают интервал от 140 000 до 149 000. Поместим эти цифры в формулу:
= COUNTIF (индексы;»>=140000") - COUNTIF (индексы;»>149000")
и перед нами - требуемый результат (рис. 4).
Рис. 4
Слово «индексы» в нашей формуле указывает на диапазон проверяемых ячеек: это имя, присвоенное столбцу А второй таблицы. Туда и помещены вперемешку все известные почтовые индексы зарегистрированных пользователей.
Обратите внимание: для хранения исходных данных служит один лист рабочей книги, а для их обработки и получения отчета - другой. Отделив процедуру обработки от данных, мы фактически создали программу, пригодную для многих случаев. Достаточно сменить исходные данные, например, на почтовые индексы подписчиков КомпьютерПресс, и мы тут же получим их региональное распределение.
И только на финише мы прибегнем к сортировке таблицы, выбрав в качестве критерия «среднюю температуру по больнице»: число легальных копий на душу населения (рис. 5).
Рис. 5
Отметим, что в расчете введена поправка на коэффициент возврата пользователями регистрационных карт, составивший 17%.
Последний пример применения «Лексикона XL», данные для которого предоставил биолог В.В.Бакаев из Новосибир ска, посвящен обработке экспериментальных данных: исследованию воздействия аденозинтрифос фата натрия (АТФ) на продолжительность жизни микроскопического червя - нематоды Caenorhabditis elegans. Конечно, для статистической обработки имеется специальное программное обеспечение - например пакет Statistica. Увы, цена около 1500 долл. делает его доступным лишь немногим научным работникам, а работать без документации с пиратской копией... это вам не текстовый редактор, цена ошибки здесь гораздо выше.
Но и обычная электронная таблица позволит сделать многое, только потребует знания соответствующего математического аппарата. Функций для статистического анализа у нас немного: AVERAGE (среднее арифметическое), SUMSQ (сумма квадратов), VAR и VARP (дисперсии для малой и большой выборки), STDEV и STDEVP (среднеквадратичные погрешности).
Начнем с малого - оценки погрешности данных, отвечающей заданному уровню надежности. Большинство статистических методов требует использования табличных функций. Нам понадобится так называемое распределение Стьюдента (t-критерий), позволяющее исходя из требований к надежности, разброса измерений и их числа оценить вероятную погрешность.
Отведем один из листов рабочей книги для взятых из справочника значений tкритерия. Строки в таблице будут соответствовать числу измерений, столбцы - уровням надежности оценки. На пересечении - необходимые для расчета погрешности числа. Но как автоматически найти нужное, чтобы подставить в формулу?
Операцию «пойди туда, скажу куда; принеси то, скажу что» выполнит функция VLOOKUP. Она требует именно таких параметров: номер столбца, в котором надо искать заданное число или строку, и номер столбца, в котором находится требуемый результат. Найдя в первом столбце искомый контекст, VLOOKUP двинется по этой строке ко второму столбцу и вернет значение из ячейки на их пересечении.
Остальное - дело техники. Конечно, грех не воспользоваться разностной диаграммой для показа диапазона, в который с заданной надежностью попадает истинное значение измеряемой величины (рис. 6).
Рис. 6
Примеры использования электронных таблиц могут быть очень разными - от простейшей накладной, которую вы найдете в комплекте поставки «Лексикона-XL», до таблиц, реализующих сложные алгоритмы расчетов или обработки данных.
Впрочем, даже составление аккуратной формы квитанции или заполнение таблицы списком почтовых индексов требует некоторых усилий. Зачем заново изобретать велосипед?
Заходите в наш недавно открывшийся по адресу http://www.lexicon.ru клуб пользователей «Лексикона»! Возможно, у нас найдется готовый пример подходящей таблицы. А если вы готовы поделиться своими достижениями на ниве электронных таблиц и шаблонов «Лексикона» с теми, кто придет следом, - наши общие шансы возрастут. До встречи!
Григорий Шмерлинг - сотрудник компании «Арсеналъ»; e-mail: grs@ars.ru
|