Любимое мое занятие в последнее время - показывать людям сводные таблицы в Excel 5.0 for Windows. Смотрю я при этом не на экран, а на собеседника. Никаких мультиков не надо: челюсть отпадывает, отпадывает... до самого пола... в глазах потрясение... А потом - самая бурная реакция. Одна программистка не вынесла этого зрелища и ушла в монастырь. Cолидный пользователь вскочил и с радостными криками начал вальсировать по комнате. Мой приятель заключил договор на месяц, чтоб обработать данные из здоровенного DBF-файла. Пока он, за пивом, высказывал мне идеи о том, как он все это запрограммирует в Клиппере, я взял его файл и обработал в Excel. Он не успел даже бутылку допить. В солидной компьютерной фирме долго обсуждали, как получить нестандартную обработку данных из бухгалтерии 1С. Я присутствовал там случайно, но не вытерпел, встрял в разговор. Запустили Excel, "втянули" в него журнал операций... Не прошло десяти минут, и вся необходимая информация была получена. Не обошлось без потерь - один программист сел мимо стула... Теперь я, наученный горьким опытом, рекомендую слушателям перед демонстрацией сводных таблиц сесть и держаться покрепче.
Итак, если Вы что-то сейчас жуете, выньте это изо рта, не то подавитесь. Сядьте покрепче. Пристегните ремни. Начинаем.
Электронные таблицы - самое гениальное изобретение в компьютерной жизни. Сравниться с ним может разве что изобретение самого компьютера и, может быть, изобретение первого языка программирования. Но были задачки, электронным таблицам доселе недоступные. Вот, положим, завели Вы таблицу:
Теперь Вам нужно узнать, на какую сумму наторговали Вы с К/х "Луч" в первом квартале, или процентное соотношение безналичных и наличных продаж... Короче, нужно получить некоторые обобщающие данные. Можно, конечно, городить сложные формулы, отбирая нужные ячейки. Можно использовать отбор по критериям. Можно попробовать консолидацию. Но есть средство куда проще и мощнее. Найдите в меню "Данные" подменю "Сводная таблица" (маркер в это время должен стоять внутри Вашей таблицы). Дважды нажав "Шаг", Вы увидите вот что. Справа - ПОЛЯ Вашей таблицы (названия столбцов). В центре - макет сводной таблицы. Там Вы укажете, по каким полям Вам данные сгруппировать (строки, столбцы), и что именно группировать (данные).
Вы просто хватаете поле "организация" мышкой и тащите на область "Строка", а поле "Сумма" тащите в "Данные". Внимание! Если Excel у Вас настроен неверно, то вместо "Сумма по полю Сумма" появится "Счет по полю Сумма". Тогда нужно дважды щёлкнуть по данным, сделать вот так
и, естественно, щёлкнуть по ОК. Щёлкнув потом по "Закончить", Вы получите на отдельном листе вот что:
Вот так всё просто. Раз, два - и суммы по организациям готовы. Здорово, правда? Но это ещё не всё. Что будет, если Вы захотите получить суммы по товарам, а не по организациям? Или суммы и по товарам, и по организациям? Выполните опять Данные|Сводная таблица и утащите поле "Организация" на область "Столбец", а поле "Товар" на поле "Строка". Вот это да!
Вот это уже сводная таблица почти во всем своем великолепии. Вы оценили? Пять щелчков мышкой, и Вы получаете ЛЮБОЙ срез Ваших данных. Например, если бы в исходной таблице были поля "счет дебет" и "счет кредит", а в каждой строке были бы записаны проводки, Вы тут же получили бы "шахматку".
Но ведь и это ещё не все. Если Вы просто ухватите поле "Организация" и утащите его влево (ОДНО движение мышкой!), то получите вот что:
И так далее, а в самом низу - общая сумма.
Но Вам, положим нужна группировка не по товарам, а по организациям. Хватайте поле "Товар" и тащите его вправо! Легким движением руки таблица превращается в такую:
А если при этом еще и по горизонтали что-нибудь этакое пустить? Например, форму оплаты? Нас жгуче интересует, как именно мы рассчитывались с организациями: безналом, налом или бартером..
Входим в макет сводной таблицы, тащим "Форму оплаты" на область строк. Ап!
Всего одно движение мышкой, и такие потрясающие результаты! Но Вы будете потрясены ещё больше, когда узнаете, что это была еще только присказка. Сказка только начинается! Сказка начинается с того, что мы передвигаем поле "организация" в левый верхний угол. И что же мы видим?
Щелкните по язычку около слова "Все".
Теперь, выбрав, например, АО "Альянс", Вы получите суммы только по АО "Альянс"! Вот так все просто!
Но самые восхитительные штуки можно получить, пустив по столбцам поле "Дата".Поле "Товары" уберем вовсе, а поле "Организация" пустим по строкам:
Это ещё не все. Теперь, щёлкнув по полю "Дата" левой клавишей и выбрав "Группировка и структура" "Группировать", получим вот что:
Сбылась вековая мечта человечества! Это что же получается: Вы вводите себе строку за строкой в исходную таблицу, а суммы по месяцам получаются сами собой! Впечатляет! Но и это еще не все. В группировке можно указать не только месяцы, но и кварталы, вот так:
И даже еще круче, вот так (если утащить кварталы в левый верхний угол):
Вот это, скажу я Вам, вещь. Теперь Вам понятно, почему ушла в монастырь та программистка? А если непонятно, поясню: в так называемых АСУ-шных (или, как теперь говорят, офисных) задачах программисты испокон веку занимались тремя вещами: ведением базы данных, фильтрацией данных и составлением сводных таблиц. Теперь у них остается только ведение БД...
Но не спешите отстегивать ремни и запихивать в рот бутерброды. Демонстрация сводных таблиц еще не закончилась! Взгляните на диалоговое окно "Поле сводной таблицы"(там, где мы устанавлиали сумму вместо счета). Что будет, если мы все-таки поставим там счет? А вот что: в клетках сводной таблицы появится КОЛИЧЕСТВО строк, удовлетворяющих условию. Например, не сумма денег, полученных от АО "Альянс" за хлеб, а число покупок им хлеба. Для этой задачи количество бессмысленно, но так можно, например, обрабатывать социологический анкеты! А ведь кроме суммы и счета, есть еще и максимум, минимум, среднее и так далее!
Но и это еще не все. Щёлкнув в этом же диалоговом окне по кнопке "Параметры", Вы откроете ещё целую кучу возможностей:
Например, Вы сможете показать вместо сумм (или вместе с суммами) проценты по строке. Выглядеть это будет, например, так:
Ну и, пожалуй, хватит. Не то, чтобы я рассказал все о сводных таблицах. Нет. Еще осталось... ну например, такая возможность: сводные таблицы можно строить не по таблице Excel, а по некоей выборке из базы данных, написанной хотя бы на FoxPro. Причем можно построить весьма сложный запрос и отобрать данные из нескольких связанных таблиц.
Но размер журнала ограничен. Рассказать все - не хватит сорока восьми страниц. А главное Вы, наверное, поняли: за невинной строчкой меню скрывается мощнейшее средство, причем доступное рядовому пользователю. И, кстати: пример, на котором я показывал сводные таблицы, взят из реальной жизни. Рядовой бухгалтер, не знающий даже Бейсика, с помощью сводных таблиц полностью автоматизировал учет cкладских операций. В течение двухнедельного обучения.
Опубликовано: ON LINE N1 1996 г.
© Алексей Бабий 1994