MS Excel. Приемы работы с данными
Шрифт:
Важно! При возвращении слова из конца строки данным способом, необходимо учитывать, что количество пробелов в текстовой строке должно быть одинаково во всем списке обрабатываемых строк. Функция, которая бы возвращала позицию вхождения одной строки в другую, просматривая строку с конца в Excel нет.
Получение слова с конца строки заданной длинны
Для получения слова с конца строки заданной длинны, используется функция «ПРАВСИМВ», она возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа
Синтаксис.
ПРАВСИМВ(текст,[число_знаков])
Аргументы функции.
Текст Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.
Число_знаков Необязательный. Количество символов, извлекаемых функцией «ПРАВСИМВ».
В предыдущем примере дата рождения в формате «00.00.0000» всегда имеет одинаковое количество символов – 10. И наиболее рациональнее было в предыдущем примере использовать функцию «ПРАВСИМВ», введя в ячейку H1 формулу «=ПРАВСИМВ(A1;10)» мы получим то же результат.
Получение последовательности слов из середины текстовой строки
Рассмотрим еще один пример. У нас есть список из одного столбца, в котором в строку записано ИНН, Фамилия Имя Отчество, дата рождения, и необходимо получить текст содержащий Фамилию Имя Отчество. Усложним задачу тем, что первое и последнее слово могут быть разной длины. Но количество пробелов во всех словах списка одинаковое.
Рассмотрим строку «123456789100 Фамилия Имя Отчество 01.01.1900» текст «Фамилия Имя Отчество» находится между первым и четвертым пробелом.
Алгоритм действий: Чтобы получить текст «Фамилия Имя Отчество» из строки «123456789100 Фамилия Имя Отчество 01.01.1900» необходимо вернуть строку от первого пробела до четвертого, чтобы узнать длину строки, надо отнять от позиции четвертого пробела позицию второго пробела минус один.
Порядок действий:
1. Находим позицию первого пробела – в ячейку B1 вводим формулу «=НАЙТИ(" ";A1;1)»;
2. Имея позицию первого пробела, находим позицию второго пробела и в ячейку C1 вводим формулу «=НАЙТИ(" ";A1;B1+1)»;
3. Так же находим позицию третьего пробела – в ячейку D1 вводим формулу «=НАЙТИ(" ";A1;C1+1)»;
4. И получаем позицию четвертого пробела – в ячейку E1 вводим формулу «=НАЙТИ(" ";A1;D1+1)»;
5. Для получения текстовой строки «Фамилия Имя Отчество» в ячейку G1 вводим формулу «=ПСТР(A1;B1+1;E1-B1-1)».
В Excel достаточный арсенал функций для работы с текстом. А их применение зависит от особенности текстовой строки, и для получения нужного результата обычно необходимо их комплексное применение.
Глава 2. Приемы работы с массивами данных
Определимся с терминологией. Массив данных это совокупность взаимосвязанных сведений, подлежащих совместной обработке и хранению. Массив данных состоит из одной или более записей – набора данных. Данные принадлежащие одному массиву записываются по общим правилам. Массив данных может быть представлен в виде одного столбца или строки – одномерный или виде нескольких столбцов и строк – двухмерный (матрица). Запись столбцов (полей) данных массива
В Excel массив данных представлен в виде диапазона или нескольких диапазонов. Диапазон в Excel состоит из одной и более ячеек. В Excel ограничения на количество столбцов и строк на листе определены версией приложения. Версия 2010, на которой рассматриваются примеры, позволяет создать на одном листе диапазон из 16384 столбца и 1048576 строк.
Работа с одномерными массивами данных
Одномерный массив данных, например, перечисление ИНН физических лиц или ФИО состоящий из одного столбца.
Операции с одномерным массивом
1. Проверка на наличие дублей записей и их удаление;
2. Поиск дублирующих записей;
3. Сравнение (поиск разности и пересечения).
Проверка наличия и удаление дублей данных в одномерном массиве
У нас есть массив данных, состоящий из 10000 записей и не известно, есть ли в нем повторяющие записи, а просматривать визуально потребует большие временные затраты. Для удаления дубликатов в Excel на вкладке «Данные» есть кнопка «Удалить дубликаты».
Выделяем весь диапазон данных. Для быстрого выделения необходимо выделить первую запись в списке (заголовок можно не выделять) и одновременно нажать на клавиатуре кнопки Ctrl+Shift+V(стрелочка вниз). Это прием работает и с конца списка, достаточно выделить последнюю ячейку и одновременно нажать клавиши Ctrl+Shift+^(стрелочка вверх). И так же и вправо и влево.
Выделив диапазон, на вкладке «Данные» нажимаем кнопку «Удалить дубликаты»
Выходит диалоговое окно.
Нажимаем «ОК»
Получаем информационное сообщение о количестве удаленных повторяющих значений и количестве оставшихся уникальных значений.
Дубли из массива удалены, все записи в нем уникальны.
Поиск повторяющих данных в массиве
Теперь необходимо узнать, какие записи и сколько раз повторяются . Вернем массив, в исходное состояние, через кнопку отмена, или используя сочетание клавиш Ctrl+Z.
Выделяем массив, копируем и вставляем рядом или на другой лист (в описываемом примере мы вставили список на этот же лист, в столбец D). И проводим над скопированным массивом операции по удалению повторяющих значений. Теперь у нас два массива, исходный и содержащий уникальные записи.
Исходному массиву присваиваем имя. Для этого выделяем его Ctrl+Shift+V(стрелочка вниз) и не снимая выделения, нажатием правой клавиши мыши вызываем контекстное меню и выбираем пункт «Присвоить имя…»