[МУЗЫКА]
[МУЗЫКА] На
практике большое количество проблем вызывают текстовые данные.
Контрагенты, клиенты присылают данные в разном формате, как мы уже говорили.
С другой стороны, и компании не всегда понимают,
как им правильно собирать данные.
Типичная проблема: фамилия, имя, отчество.
Как разумнее хранить фамилию, имя, отчество?
В одном столбце или разбивать фамилию, имя на разные столбцы?
Понимание технологии работы с функциями в принципе
обеспечивает и понимание того, как данные лучше собирать и как их лучше хранить.
Посмотрим первую ситуацию.
В компании данные хранятся в таком виде, когда и фамилия, имя, отчество,
всё записано в одном столбце.
А, предположим, какой-то из документов, какой-то из отчётов требует,
чтобы фигурировала фамилия работника и его инициалы.
Что с этим делать?
Прежде всего, на первом шаге, применим уже
известную нам технологию разбиения текста по столбцам.
Текст, далее — у нас разделителем по прежнему является пробел,
такая достаточно классическая ситуация — далее готово.
Замечательно.
Фамилия уже есть.
Теперь нам надо вытащить из имени и отчества первые буквы и вставить точки.
Формат, требуемый в отчёте — фамилия и инициалы.
Как это сделать?
Давайте отдельно посмотрим, как можно вытащить,
выделить первую букву из имени, например.
Функция — категории текстовые — функция ЛЕВСИМВ.
Из этого текста выбираем один символ.
Вот у нас получилась первая буковка И.
Соответственно, нам то же самое нужно
сделать и для отчества, и ещё как-то поставить точечки.
Давайте сейчас для наглядности просто скопируем эту формулу,
мы получили первые буквы имени.
Точно так же — кстати говоря, формулы можно и скопировать,
давайте попробуем — скопируем её направо.
Теперь у нас первые буквы отчеств.
И теперь нам надо схлопнуть фамилию и первые
буквы имени и отчества, и ещё поставить точки.
Для этого используется известная многим пользователям функция
СЦЕПИТЬ, которая делает такую полезную,
часто встречающуюся последовательность действия.
Она сцепляет содержание тех ячеек, которые мы укажем.
Иванов, дальше давайте не забудем, что нам пробел нужен.
Вообще-то, даже можно пробел указать.
Он помещается автоматически в кавычки.
Затем первая буква имени.
И тут мы ставим точку.
После имени нам нужно обязательно точечка.
И вторая буква имени и ещё одна точечка.
Нажимаем ОК.
Копируем эту формулу — у нас получился требуемый результат.
Что, может быть, имеет смысл здесь на всякий случай напомнить?
Как правило, когда мы получили для некоторого отчёта
фамилию с инициалами, очень хочется удалить исходные данные.
Давайте я попробую их удалить — и тут оказывается, что у нас результата исчез.
Это совершенно понятно, почему, у нас исчез источник для расчёта формулы.
Здесь на этом этапе, пусть не обижаются опытные пользователи,
имеет смысл сделать следующее.
Скопируем эту формулу и с помощью специальной вставки вставим только
значение.
То есть мы как бы отцедим результаты и уберём формулу,
результаты расчёта по формуле.
И теперь мы можем удалять все промежуточные наши значения.
Только фамилия и инициалы останутся на экране.
Более опытные пользователи могут делать это с помощью набора вложенных функций.
Понимая, что у нас есть вот такие возможности по разбиению
текстов на столбцы по признаку разделитель, например, здесь — пробел.
Понимая, что мы имеем возможность сцепить данные, находящиеся в разных столбцах.
Например, вот здесь у меня другой пример.
Фамилия, имя, отчество хранятся в разных столбцах.
Точно так же мы можем их сцепить, как только что показывалось,
указывая пробел между словами, для того чтобы не сливались фамилия, имя, отчество.
Собственно, задача совершенно аналогичная предыдущей.
Понимая, что у нас есть такие возможности, давайте попробуем сформулировать,
а как же максимально эффективно хранить в компании информацию о фамилии,
например, имени, отчестве работников или контрагентов.
На мой взгляд, тогда их логично хранить в виде отдельных столбцов, потому что,
если надо, мы их можем сцепить эти столбцы, значения из разных столбцов.
А, соответственно, если встречается ситуация с формированием фамилии
в сочетании с инициалами, тогда функция ЛЕВСИМВ нам здесь поможет,
а мы исключаем этап, связанный с разделением текста по столбцам.
Ну, в каждых компаниях свои традиции, свои корпоративные стандарты, в любом случае,
решения могут быть разные.
Но вот эти возможности надо иметь ввиду.
Рассмотрим ещё один пример ситуации, связанной с текстовыми данными.
Очень часто из информационных систем данные выгружаются в некорректном виде.
Вот здесь, например, на экране приведена ситуация, когда между названием
улицы и номером дома вбито пользователем больше, чем один пробел.
Для многих ситуаций это оказывается ситуация, мешающая анализу данных.
Например, для разбиения текста по столбцам.
И возникает проблема, как удалить лишние пробелы.
Есть такая замечательная функция, которая называется СЖАТЬ ПРОБЕЛЫ.
Давайте мы её вызовем.
Есть соблазн её применить прямо в столбце A,
но получится некорректный результат.
Итак, в соседнем, в отдельном столбце указываем ячейку,
в которой мы хотим сжать пробелы.
Нажимаем ОК и теперь у нас между каждым словом всего лишь один пробел.
Копируя формулу, мы видим, что требуемое действие по удалению ненужных,
некорректных пробелов у нас произошло автоматически.
И ещё одна проблема, которая связаны не только с текстовыми функциями,
а с числами, которые представляются в виде текстов.
Это случается по разным причинам.
Одна из причин, если вы скачиваете из Интернета — как правило,
в этой ситуации возникает проблема — в числах появляются какие-то дополнительные
знаки, символы, точнее, которые не позволяют воспринимать программе вот эти
значения как числа и, соответственно, превращают их в тексты.
Вот у меня на экране сейчас числа,
в которых апостроф превращает числа в тексты.
Что можно с этим сделать?
Выделяем эти ячейки с числами.
Совершенно непонятно, почему, вызываем команду текста столбца.
Так догадаться, что именно эта последовательность действий нам поможет,
трудно, но именно поэтому полезно это обсудить.
На третьем шаге у нас есть возможность указать, что разделители разрядов,
а, собственно, эти апострофы, они играют роль разделителя разрядов,
давайте мы его выберем и нажимаем ОК и ещё раз «Готово».
У нас числа, читавшиеся как текст, теперь воспринимаются как числа.
Мы это видим, потому что они стали выравнены по правому краю.
Можно проверить, например, просуммировать этот диапазон.
И ещё одна ситуация, очень часто встречающаяся и приводящая,
соответственно, к некорректным расчётам.
Из информационных систем очень часто выгружаются числа в текстовом формате,
хотя чисто внешне выглядит они просто как нормальные, правильно введённые числа.
Я сейчас сознательно на ваших глазах введённым числам назначу текстовый формат,
и я в своей практике видела очень много ситуаций,
когда или отдельные числа вот так вот в текстовом формате попадали
в длинный диапазон нормальных чисел, введённых правильно,
или просто целый столбец был некорректно введён как тексты.
И, соответственно, никакие манипуляции с этими числами,
с этими данными становились или невозможными, или просто некорректными.
Какие здесь есть подходы?
В принципе, можно попробовать назначить числовой формат.
К сожалению, это не всегда работает.
Универсальная процедура или универсальный приём,
который всегда помогает и которым пользуются профессионалы,
он следующий и тоже достаточно неожиданный.
В любую ячейку нужно ввести единичку,
дальше эту единичку скопировать в буфер обмена.
Затем выделить диапазон, вызвать команду «Специальная вставка» и дальше выбрать
для многих начинающих пользователей загадочную команду «умножить».
Что на что умножается, из диалогового окна не очень понятно.
Давайте попробуем умножить и ОК.
Тексты превратились в числа, а что же там произошло, давайте сейчас обсудим.
В части вот этого диалогового окна «операция», умножение, деление, сложение и
вычитание происходит с тем числом, которое было заранее скопировано в буфер обмена.
Мы таким образом и обсудили, как тексты превратить в числа,
и посмотрели такую очень полезную возможность,
которая скрыта в специальной вставке, как включение в
арифметическую операцию значения, которое находится в буфере обмена.
[БЕЗ_ЗВУКА]