Обработка перенесенных текстовых данных

Обратите внимание, что все заголовки оформлены в одном формате:

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

Справиться с данной работой можно довольно быстро, если использовать текстовые функции Excel. Алгоритм одного из таких методов представлен на рис. 4.2.

Алгоритм очистки текста от лишних символов
Рис. 4.2. Алгоритм очистки текста от лишних символов

При этом предполагается, что формат перечня заголовков точно соответствует приведенному выше описанию. В противном случае (если, например, после точки вместо одного пробела введены два) алгоритм работать не будет.

Определение длины текста заголовка

Для определения количества символов в тексте, содержащемся в ячейке, используется функция ДЛСТР. Рассмотрим ячейку А4 со вставленным в нее текстом 7. Порядковый номер;. Поместите табличный курсор в ячейку В4, которая находится справа от ячейки А4, и вызовите окно Мастер функций. В списке Категория выберите элемент Текстовые, в списке Функция выделите имя функции ДЛСТР, нажмите кнопку ОК, и на экране появится панель функции ДЛСТР (рис. 4.3).

Данная функция возвращает количество символов в текстовой строке. Синтаксис ее таков:

ДЛСТР(текст)

где текст - это текст, в котором определяется количество символов. Имеющиеся в тексте пробелы также считаются символами.

Введите в поле Текст значение А4, нажмите кнопку ОК, и в ячейке В4 появится следующая формула:

=ДЛСТР(А4)

Таким образом мы узнаем, что в ячейке А4 находится текст, содержащий 20 символов.

Панель функции ДЛСТР
Рис. 4.3. Панель функции ДЛСТР

Удаление последнего символа из заголовка

Следующий этап нашей работы - удаление символа ";" в конце строки. Выберите из текста, находящегося в ячейке А4, все символы, кроме последнего. Для этой цели следует использовать текстовую функцию ЛЕВСИМВ (рис. 4.4). Она возвращает заданное количество символов текстовой строки, отсчитанных от ее начала, то есть слева. Синтаксис функции имеет такой вид:

ЛЕВСИМВ(текст;количество_символов)

где текст - это текстовая строка, из которой извлекаются символы. Параметр количество_символов определяет, сколько символов должна извлечь функция ЛЕВСИМВ из текста.

Панель функции ЛЕВСИМВ
Рис. 4.4. Панель функции ЛЕВСИМВ

Количество извлекаемых символов во втором аргументе функции следует задавать в виде числа. Это число может находиться в ячейке, адрес которой указан в данном аргументе. Введите функцию ЛЕВСИМВ в ячейку С4. Первым аргументом функции является адрес ячейки А4, где расположен исходный текст. В качестве второго аргумента использовано число, которое возвращает функция ДЛСТР, находящаяся в ячейке В4. Но если во второй аргумент ввести только адрес ячейки В4, то в ячейке С4 будет присутствовать все содержимое ячейки А4. Однако для удаления из исходного текста последнего символа во втором аргументе необходимо указать число, которое на единицу меньше количества символов, присутствующих в исходном тексте. Поэтому формула в ячейке С4 должна выглядеть следующим образом:

=ЛЕВСИМВ(А4;В4-1)

Удаление начальных символов из заголовка

Для удаления из исходного текста начальных символов (то есть порядкового номера и пробела) можно использовать текстовую функцию ПРАВСИМВ, аналогичную описанной выше функции ЛЕВСИМВ. Синтаксис функции ПРАВСИМВ такой же, только она отсчитывает символы, начиная с конца указанного текста, то есть справа.

При вводе этой функции в ячейку D4 в качестве исходного текста задаем строку без одного последнего символа, полученную в результате преобразования в ячейке С4.

Количество символов во втором аргументе не является одинаковым для всех формул диапазона D4:D24 и зависит от порядкового номера поля в исходном тексте. Для заголовков с порядковыми номерами от 0 до 9 во втором аргументе должно находиться число, равное количеству символов, рассчитанному функцией ДЛСТР в ячейке В4, уменьшенное на 4:

Таким образом, в ячейке D4 у нас будет такая формула:

=ПРАВСИМВ(С4;В4-4)

В заголовках с порядковыми номерами от 10 до 99 необходимо вычесть уже 5 символов, потому что данные номера состоят из двух цифр, для номеров от 100 до 999 - 6 символов и т. д. В данном случае мы создаем формулу, которая нуждается в последующей корректировке второго аргумента.

На рис. 4.5 приведен рабочий лист для преобразования заголовков с формулами, а на рис. 4.6 - результаты преобразований в текстовом виде.

Рабочий лист с формулами преобразования текста
Рис. 4.5. Рабочий лист с формулами преобразования текста

Создание сложной формулы для обработки текста

Для выполнения всех описанных выше действий можно создать одну формулу и разместить ее в одной ячейке. С этой целью воспользуемся методом вложения одной формулы (функции) в другую, при котором одни формулы (функции) применяются в качестве аргументов в других.

Продемонстрируем этот метод на примере. Сначала мы должны модифицировать ячейку В4.

Этапы преобразования текста
Рис. 4.6. Этапы преобразования текста

В результате вместо адреса ячейки В4 в строке формул будет находиться формула, прежде содержащаяся в ячейке В4. Таким образом, после редактирования ячейка С4 будет содержать следующую формулу:

=ЛЕВСИМВ(А4;ДЛСТР(А4)-1)

Как видите, в качестве второго аргумента функции ЛЕВСИМВ, определяющего, какое количество символов текста необходимо вернуть, задано значение, возвращаемое функцией ДЛСТР (то есть количество символов в исходном тексте), уменьшенное на единицу.

Далее перейдите в ячейку D4 и произведите в ней аналогичную замену адреса ячейки на формулу. Формула в ячейке D4 должна быть похожа на предыдущую:

=ПРАВСИМВ(С4;ДЛСТР(А4)-4)

Затем возвратитесь к ячейке С4 и скопируйте находящуюся в ней формулу из строки формул. После этого нажмите клавишу [Enter], перейдите к ячейке D4 и вставьте в нее вместо ссылки на адрес ячейки С4 скопированную формулу. После всех этих манипуляций формула в ячейке D4 должна выглядеть следующим образом (рис. 4.7):

=ПРАВСИМВ(ЛЕВСИМВ(А4;ДЛСТР(А4)-1);ДЛСТР(А4)-4)

Первым аргументом функции ПРАВСИМВ является уменьшенный на один символ текст, состоящий из начальных символов, возвращенных функцией ЛЕВСИМВ из исходного текста. Второй аргумент функции ПРАВСИМВ - это уменьшенное на 4 количество символов исходного текста, вычисленное функцией ДЛСТР.

Рабочий лист со сложной формулой
Pис. 4.7. Рабочий лист со сложной формулой

ПРИМЕЧАНИЕ.

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

Перенос заголовков из столбца в строку

После удаления из названий столбцов лишних символов можно приступать к формированию строки заголовка списка. Для этого необходимо поместить имена столбцов в строку 1:

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