Как в excel сделать текст как в предложении?
Содержание
09:53
Людмила
Просмотров: 22525
Перенос текста в ячейке Excel. Ни одна таблица не обходится без текста. Текст в рабочей таблице используется в основном для заголовков и различных спецификаций и примечаний. В Excel текст выравнивается по левому краю ячеек. Если текст длинный и не умещается в одной ячейке, то он выходит за её пределы и занимает пространство соседних клеток с правой стороны. Но как только вы введете какое-то значение или текст в соседние клетки, то остальная часть текста, которая находилась в предыдущей клетке становиться не видна. Для того, что бы в ячейке отображался весь текст необходимо либо раздвинуть ячейку с длинным текстом (что не всегда удобно), либо сделать перенос текста в ячейке Excel.
Перенос текста в ячейке Excel
Для этого щелкните правой кнопкой мыши по ячейке, в которой находится начало вашего текста, и в выпадающем списке выберите пункт Формат ячеек.
В открывшемся окне Формат ячеек выберите вкладку Выравнивание и установите галочку на функцию Переносить по словам.
Не забудьте подтвердить свои изменения, нажав кнопку ОК.
Вот вы и сделали перенос текста в ячейке Excel . Теперь весь ваш длинный текст будет полностью виден в одной ячейке.
Этот метод подходит для всех версий Excel.
Посмотрите видеоролик Перенос текста в ячейке Excel:
С уважением, Людмила
Понравилась статья — нажмите на кнопки:
Мне иногда не хватает в Excel команды, аналогичной «Регистр» Word’а, которая в один щелчок могла бы превращать текст в читаемый. Например, сделать из полностью строчного текста предложения. Иными словами, менять регистр и превращать заглавные, то есть прописные буквы в строчные и наоборот. Заглавные и строчные буквы в Excel приходится преобразовывать совсем по-другому, а именно с помощью функций.
Функции
В первую очередь обратим внимание на функции, которых в простых случаях хватит:
- Функция СТРОЧН(). У нее только один аргумент — текст, который она перебирает и каждую букву которого превращает в строчную.
- Функция ПРОПИСН(). Аналогичная предыдущей, только превращает все наоборот в заглавные (прописные) буквы.
- Функция ПРОПНАЧ(). Эта функция превращает в заглавную первую букву каждого слова.
В принципе, этого хватает. На рисунке можно посмотреть результат работы этих функций:
Сложные режимы
Конечно, бывают случаи, когда простого использования этих функций недостаточно. Например, уже упомянутая команда «Регистр» содержит 5 режимов:
Как видите, три режима вполне реализуются через текстовые функции. Но остальные две, а именно — «Как в предложениях» и «иЗМЕНИТЬ РЕГИСТР» стандартными средствами не достичь.
У вас есть следующие варианты для того, чтобы получить желаемое:
- Метод простой и грубый . Как говорил Принц-Полукровка в «Гарри Поттере»: «просто засуньте им в глотку безоар». А именно, копируете нужный текст, переходите в Word, там вставляете, применяете команду «Регистр», потом получившийся текст тащите обратно в Excel. Преимущества — скорость и незамысловатость. Недостаток — с большими таблицами придется повозиться, менять форматирование и т.д.
- Использовать макрос или пользовательскую функцию. Лично я пытался реализовать через формулы массива или через комбинации функций, но получалось так громоздко и неэффективно по сравнению с найденным на сайте «Мир MS Excel» способом, что я решил его передать без каких-либо поправок.
Пользовательская функция
Вот сам текст функции:
Function ConvertRegistr(sString As String, Tip As Byte) As String 'Tip = 1 - ВСЕ ПРОПИСНЫЕ 'Tip = 2 - все строчные 'Tip = 3 - Начинать С Прописных 'Tip = 4 - Как в предложениях 'Tip = 5 - иЗМЕНИТЬ рЕГИСТР Dim i& If Tip = 4 Then ConvertRegistr = StrConv(sString, 2) Mid$(ConvertRegistr, 1, 1) = UCase(Mid$(ConvertRegistr, 1, 1)) ElseIf Tip > 4 Then For i = 1 To Len(sString) Mid$(sString, i, 1) = IIf(Mid$(sString, i, 1) = UCase(Mid$(sString, i, 1)), _ LCase(Mid$(sString, i, 1)), UCase(Mid$(sString, i, 1))) Next ConvertRegistr = sString Else ConvertRegistr = StrConv(sString, Tip) End If End Function
Как ею пользоваться, по шагам:
- Открываете Excel, нажимаете Alt+F11, откроется окно Visual Basic.
- Команда Insert/Module. В открывшееся поле вставляете текст.
- Переходите в Excel, теперь в списке функций, в полном алфавитном перечне у вас появилась функция ConvertRegistr.
- У этой функции два аргумента — ячейка и режим преобразования регистра. В тексте функции есть комментарии, какой режим обозначен какой цифрой. По сути она заменяет предыдущие три функции, а работает полным аналогом уже упоминавшейся команды «Регистр». Правда, есть нюанс — 4й пункт — «Как в предложениях» — работает только для одного предложения. Если кому нужно, пишите на мэйл, скину рабочий вариант, который переработает нормальный литературный текст.
- Если вы хотите, чтобы функция всегда была под рукой, сохраните файл как надстройку Excel в папке Addins. У меня она находится по адресу: C:UsersuserAppDataRoamingMicrosoftAddIns.
- Активируйте надстройку через Офис/Параметры Excel/Надстройки/Перейти в надстройки. Там появится окно, где надо будет поставить галочку напротив названия файла. Также возможно прописать макрос пребразования регистра в диапазонах, это вы сможете посмотреть .
Удачи в использовании!
«Глаза боятся, а руки делают»
P.S. Понравилась статья? Подпишитесь на рассылку в правой части страницы (Бесплатный курс «Топ-10 инструментов Excel») и будьте в курсе новых событий.
Навигация по записям ← Сумма прописью в Excel Специальная вставка в Excel →
Разберемся как изменять регистр букв в Excel, т.е. переводить заглавные (прописные) буквы в строчные и наоборот, а также другие различные нестандартные расстановки.
Приветствую всех, уважаемые читатели блога TutorExcel.Ru.
Наверняка многие из вас сталкивались с задачей изменения текста с той целью, чтобы его было удобнее воспринимать и читать, например, перевести заглавные буквы в строчные (проще говоря, большие в маленькие) или наоборот, строчные буквы в заглавные (маленькие в большие), представить текст в стандартном виде (как в предложениях), поменять регистр на противоположный и т.д.
Поэтому, несмотря на то, что Microsoft Excel в основном ориентирован на работу с числовыми данными, все-таки не стоит забывать и про возможность работы с текстовыми данными.
Вместо того, чтобы перенабирать все записи вручную или если просто лень этим заниматься, то предлагаю рассмотреть более удобные способы изменения регистра букв в Excel.
Хотя Excel в полной мере и не обладает возможностями Microsoft Word, тем не менее варианты перевода символов в верхний и нижний регистры есть, давайте подробнее остановимся на 3 основных способах:
- Применение Microsoft Word.Конвертирование данных посредством программы Microsoft Word;
- Стандартные функции Excel.Поменять регистр текста можно воспользовавшись функциями СТРОЧН (изменяет все буквы на строчные), ПРОПИСН (изменяет все символы на заглавные) и ПРОПНАЧ (изменяет первые буквы слов на заглавные, все оставшиеся — на строчные);
- Применение пользовательских функций (UDF).Если варианты со стандартным функционалом не подходят, и нужна другая расстановка прописных и строчных символов, то можно реализовать пользовательскую функцию.
Применение Microsoft Word
Так как в Microsoft Word возможность изменения регистра текста уже реализована, то можно не изобретать велосипед и для перевода заглавных букв в строчные (и наоборот) воспользоваться программой Word.
Алгоритм простой — выделяем и копируем данные из Excel, переходим в Word и вставляем их в документ. Далее применяем опцию Регистр (располагается на вкладке Главная в блоке Шрифт), а затем возвращаем отредактированные данные обратно в Excel.
Метод требует ручного ввода текстовых данных, поэтому для большого объема данных крайне неудобный, в связи с чем такой способ имеет смысл применять только для разовых задач и если нет необходимости автоматизировать процесс.
Стандартные функции Excel
Excel предлагает нам 3 стандартные функции для преобразования данных в строчные (все строчные) и прописные буквы (ВСЕ ПРОПИСНЫЕ), а также смешанную расстановку (Начинать С Прописных).
Детально изучим каждый из вариантов конвертации текстовых данных.
Как сделать все буквы строчными в Excel?
Сделать перевод всех символов в строчные можно с помощью функции СТРОЧН (английская версия LOWER) в Excel:
СТРОЧН(текст)
Делает все буквы в строке текста строчными.
- Текст (обязательный аргумент) — текст, буквы которого конвертируются в нижний регистр (т.е. в маленькие).
Применим функцию СТРОЧН, где в качестве аргумента выбираем произвольный текст, в котором мы хотим сконвертировать все символы в строчные:
Как сделать все буквы заглавными (прописными) в Excel?
Для перевода текстовых данных в большие буквы можно обратиться к функции ПРОПИСН (английская версия UPPER):
ПРОПИСН(текст)
Делает все буквы в строке текста прописными.
- Текст (обязательный аргумент) — текст, буквы которого конвертируются в верхний регистр (т.е. в большие).
Принцип действия аналогичный, применяем функцию ПРОПИСН, аргументом указываем текст, который мы планируем сделать состоящим только из заглавных символов:
Как сделать первую букву заглавной в Excel?
Для изменения начального символа каждого слова в тексте из строчного в заглавный можно воспользоваться функцией ПРОПНАЧ (английская версия PROPER):
ПРОПНАЧ(текст)
Начинает текстовую строку с заглавной буквы; делает прописной первую букву в каждом слове текста, преобразуя все другие в строчные.
- Текст (обязательный аргумент) — текст, в котором начальные буквы слов конвертируются в верхний регистр (т.е. в большие), все оставшиеся — в нижний (т.е. в маленькие).
Все то же самое, что и в предыдущих примерах, применяем к данным функцию ПРОПНАЧ, в котором хотим конвертировать начальные буквы слов в большие, а все оставшиеся сделать маленькими:
Однако при работе с ПРОПНАЧ необходимо учитывать, что Excel воспринимает знаки препинания как начало нового слова.
В данном случае не только запятая, точка, пробел, вопросительный или восклицательный знак означают конец слова, но и любые другие знаки препинания (двоеточие, точка с запятой, кавычки, скобки, дефис, тире и т.д.).
Из-за этого могут возникнуть ситуации, когда некоторые слова преобразуются правильно (пример алма-ата -> Алма-Ата), а некоторые некорректно (пример кое-что -> Кое-Что).
Применение пользовательских функций (UDF)
Идём дальше и переходим к нестандартным способам конвертации.
Третий вариант изменения регистра текста — пользовательская функция, где мы можем реализовать любой произвольный шаблон конвертирования.
Давайте повторим функционал смены регистра из текстового редактора Word, в которой к 3 основным (ВСЕ ПРОПИСНЫЕ, все строчные и Начинать С Прописных) добавляются еще 2 варианта — Как в предложениях и иЗМЕНИТЬ рЕГИСТР.
Так как в общем и целом никаких ограничений на итоговый вид текстовых данных нет, то также добавим реализацию нестандартных расстановок, к примеру, ЧеРеДоВаНиЕ рЕгИсТрОв и ПрОИЗвоЛЬноЕ нАПиСАниЕ.
Переходим в редактор Visual Basic (горячая клавиша Alt + F11), добавляем новый модуль и записываем код новой функции (напротив основных действий кода даются пояснения):
Function ChangeRegister(Text As String, TextType As Integer) As String ‘Тип TextType: ‘1 — ВСЕ ПРОПИСНЫЕ ‘2 — все строчные ‘3 — Начинать С Прописных ‘4 — Как в предложениях ‘5 — иЗМЕНИТЬ рЕГИСТР ‘6 — ЧеРеДоВаНиЕ рЕгИсТрОв ‘7 — ПрОИЗвоЛЬноЕ нАПиСАниЕ If TextType = 1 Or TextType = 2 Or TextType = 3 Then ‘Если тип данных 1, 2 или 3… ChangeRegister = StrConv(Text, TextType) ‘… то конвертируем встроенной функцией ElseIf TextType = 4 Then ‘Если тип данных 4 ChangeRegister = StrConv(Text, 2) ‘То конвертируем в тип 2 (делаем все символы строчные) Mid$(ChangeRegister, 1, 1) = UCase(Mid$(ChangeRegister, 1, 1)) ‘Затем меняем начальный символ на заглавный ElseIf TextType = 5 Then ‘Если тип данных 5 For i = 1 To Len(Text) ‘Цикл по каждому символу Mid$(Text, i, 1) = IIf(Mid$(Text, i, 1) = UCase(Mid$(Text, i, 1)), LCase(Mid$(Text, i, 1)), UCase(Mid$(Text, i, 1))) ‘Меняем регистр символа на противоположный Next i ChangeRegister = Text ElseIf TextType = 6 Then ‘Если тип данных 6 For i = 1 To Len(Text) Mid$(Text, i, 1) = IIf(i Mod 2 = 0, LCase(Mid$(Text, i, 1)), UCase(Mid$(Text, i, 1))) ‘Чередуем регистр Next i ChangeRegister = Text Else ‘В остальных случаях For i = 1 To Len(Text) Mid$(Text, i, 1) = IIf(Round(Rnd()) = 0, LCase(Mid$(Text, i, 1)), UCase(Mid$(Text, i, 1))) ‘Произвольный регистр Next i ChangeRegister = Text End If End Function |
У данной функции всего 2 аргумента: ячейка с текстом и тип преобразования данных.
Переходим обратно в Excel и в строке формул набираем функцию пользователя ChangeRegister (или находим ее в категории Определенные пользователем посредством мастера функций):
Небольшое замечание. При конвертировании по типу Как в предложениях, корректное преобразование происходит только для первого предложения фразы. В том случае, когда во фразе несколько предложений, то будет необходимо подкорректировать код пользовательской функции.
Ознакомиться с разобранными материалами можно скачав пример.
Спасибо за внимание!
Если у вас есть мысли по теме или остались вопросы — пишите в комментариях.
Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!
Приветствую вас, уважаемые читатели. Написав прошлую статью, я увидел возможность рассказать вам еще об одной интересной возможности, а именно о том, как сделать первую букву заглавной в Excel. Если вы уже освоили метод делания большими или маленькими всех букв в ячейке, то этот способ от них отличается. В Excel нет просто функции под названием «Первая буква заглавная». Мы прибегнем к нескольким функциям одновременно. И я в этом вам помогу.
Давайте подумаем, как можно сделать в Excel первую букву прописной или заглавной, а все остальные строчными. Я уже рассказывал вам о том, как сделать все буквы заглавными или строчными. Для этого нужно использовать специальные текстовые формулы. А чтобы осуществить поставленную перед нами задачу, мы их объединим в одну формулу.
Конечно, я бы мог просто вам рассказать, что нужно вписать после знака =, но это не самый лучший вариант? Лучше я вам расскажу, как эту формула составляется.
Итак, давайте приступим. За основу я возьму ячейку А1.
Что значит: первая буква заглавная, а остальные строчные? Это значит, что нам нужно сообщить Excel, чтобы он взял первую в ячейке, сделал ее прописной, а затем добавил к результату текст из ячейки в строчном варианте, но при этом отнял первый символ.
Для нахождения первого символа в ячейке будем использовать функцию ЛЕВСИМВ, которая возьмет только первую ЛЕВУЮ букву в указанной нами ячейки. И к этому символу мы применим функцию ПРОПИСН, что сделает ее Заглавной. Вот первая часть формулы: ПРОПИСН(ЛЕВСИМВ(A1))
Для расчёта оставшейся части текста мы воспользуемся функцией ПРАВСИМВ и укажем длину, но не вручную (ведь длина текста может быть разной), а функцией Excel для расчёта длины строки ДЛНСТР. И поскольку первую букву нужно нам пропустить, длина будет ЯЧЕЙКА-1. А также мы сообщим, что остальные у нас строчные. Вторая часть формулы: ПРАВСИМВ(СТРОЧН(A1);ДЛСТР(A1)-1)
Хорошо, два куска формулы у нас есть. Теперь нужно их объединить. Воспользоваться специальный символ & (SHIFT + 7). В результате формула выглядит вот так:
=ПРОПИСН(ЛЕВСИМВ(A1))&ПРАВСИМВ(СТРОЧН(A1);ДЛСТР(A1)-1)
Будьте внимательны, не запутайтесь в количестве скобок. Даже у меня не всегда получается уследить их правильное количество.
Смотрите мой результат ниже.
Ну, а если вы хотите удалить старые значения и оставить только новые, то смотрите в конце страницы «Как сделать все буквы заглавными», как можно скопировать результат в новую ячейку.
На этом все. Надеюсь вам помогут полученные знания. Не забудьте прокомментировать.
Оценка статьи:
(
votes, average:
out of 5)
Как сделать первую букву заглавную, а остальные строчные в Excel Ссылка на основную публикацию