Содержание
Как сделать перевернутый текст в excel?
Как перевернуть слово?
Не самая распространенная, но тем не менее встречающаяса задача: перевернуть слово. Т.е. расположить буквы слова в обратном порядке. Из «привет» сделать «тевирп». Если честно, то сейчас затрудняюсь озвучить конкретную ситуацию, в которой это может пригодиться. Сам использовал когда-то в случае, когда надо было перевернуть числовые значения с еще некоторыми манипуляциями. Но ситуации бывают разные, как и решения задачи, которых несколько.
Сначала я хотел бы описать способы переворачивания слова средствами VBA, т.к. именно они кажутся мне наиболее рациональными и наиболее удобными для большинства, несмотря на необходимость использовать VBA.
Способ 1:
Через встроенную функцию VBA StrReverse(). Быстрый и короткий. Самый удобный. Но работает только начиная от Excel 2000 и выше.
Sub Reverse_Word() On Error Resume Next ActiveCell.Value = StrReverse(ActiveCell.Value) End Sub
Чтобы применить этот код необходимо слегка погрузиться в мир Visual Basic for Applications: переходим в редактор VBA( Alt+F11 ) —Insert —Module. Вставляем туда приведенный выше код. Выделяем ячейку с любым словом — Alt + F8 -Reverse_Word -Выполнить. Слово в активной ячейке будет перевернуто.
Способ 2:
Более медленный, содержит больше строк кода, но работает во всех версиях:
Sub Reverse_Word() Dim sWord As String, sReverseWord As String Dim li As Long sWord = ActiveCell.Value For li = Len(sWord) To 1 Step -1 sReverseWord = sReverseWord & Mid(sWord, li, 1) Next li ActiveCell.Value = sReverseWord End Sub
Код применяется точно так же, как и первый.
Оба эти кода можно сделать функциями пользователя, чтобы вызывать их с листа Excel как любую другую функцию:
‘ Функция работает с версиями Excel, начиная с 2000 Function Reverse_Word(sWord As String) Reverse_Word = StrReverse(sWord) End Function ‘ Функция работает со всеми версиями Excel Function Reverse_Word_All(sWord As String) Dim sReverseWord As String Dim li As Long For li = Len(sWord) To 1 Step -1 sReverseWord = sReverseWord & Mid(sWord, li, 1) Next li Reverse_Word_All = sReverseWord End Function
Чтобы правильно использовать приведенные выше коды, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: необходимо скопировать текст кода выше, перейти в редактор VBA( Alt+F11 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций, отыскав её в категории Определенные пользователем (User Defined Functions) .
Способ 3: стандартными функциями в любой версии Excel
Сразу хочу оговориться — стандартными формулами сделать это хоть и можно, но не совсем просто и совершенно неудобно. Для этого потребуется гораздо больше манипуляций, чем через VBA. Хотя для кого-то, возможно, способ формулами будет более прост, чем через VBA. Для начала необходимо будет включить итеративные вычисления в функциях:
- Excel 2003: Сервис -Параметры -Вычисления -ставим галочку Итерации
- Excel 2007: Меню -Параметры Excel -Формулы -Включить итеративные вычисления
- Excel 2010: Файл -Параметры -Формулы -Включить итеративные вычисления
Функция для Excel 2016 и выше
А для счастливых обладателей Excel 2016, 365 и выше можно использовать простую и гибкую формулу массива:
=ОБЪЕДИНИТЬ(«»;0;ЕСЛИОШИБКА(ПСТР( A1 ;ДЛСТР( A1 )-СТРОКА( A1:A999 )+1;1);»»))
=TEXTJOIN(«»,0,IFERROR(MID(A1,LEN(A1)-ROW(A1:A50000)+1,1),»»))
Если текст слишком длинный необходимо лишь расширить диапазон A1:A999 с чуть большим запасом, например: A1:A50000 . 50 000 букв точно хватит 🙂
Никаких макросов и итераций — все же Microsoft думает о нас, о пользователях и внедряет всякие новые плюшки.
Tips_All_ReverseWord.xls (74,5 KiB, 3 105 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
конечно идея шикарная — лично мне пришлась кстати, хотя вначале посмотрел весьма обычно. Вот только вопросы возникли:
— провозился полдня — так ничего и не понял, мало того, и коды вставлял и формулы, и тянул в разные стороны, и файл качал — и ничего (не помогает).
Вообще ничего. Только есть — нули или по одной букве в ячейке — на том и все.
Вот если не трудно — может все таки поможете страждущим))))
— у меня есть столбец — в котором по возрастанию около 1000 слов увеличиваются по количеству букв, то есть 2-букв., затем 3-х и так далее — последнее 15 буквенное.
Как мне перевернуть весь столбец, причем так, чтобы без лишних действий в 3,4,5 и так далее этапов, чтобы получить из первого столбца — второй и уже готовый и полностью перевернутый.
Вот Вам вопрос — можете поможете?
Чем помочь-то страждущим? Я уже расписал все досконально в статье. Я даже пример со всеми описанными функциями выложил и даже макрос там создал, который перевернет быстро и без лишних движений ВСЕ слова в выделенном диапазоне. Вот Вам вопрос — у Вас макросы включены? У Вас не работает как? Что конкретно не получается?
Спасибо, Дмитрий. Все работает супер. (использую функцию Reverse_Word_All)
Данная задача мне необходима для поиска символа в тексте с конца.
Вячеслав, если ищете символ с конца слова тоже через VBA, то можно просто использовать встроенную в VBA функцию InStrRev. Она именно это и делает.
Здравствуйте!
Возникла необходимость развернуть «слово» 8 байт таким образом -12345678 -78563412
код ключей ТМ. Подскажите пожалуйста, каким образом это сделать?
Сергей, для обсуждения личных проблем есть форум. А Ваш вопрос к статье не имеет отношения, т.к. ни о каком перевороте слова речи не идет.
Вот спасибо тебе за работу, дорогой друг! Массу времени сэкономил!
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум
Вертикальная запись текста в Microsoft Excel
Иногда при работе с таблицами нужно вставить текст в ячейку вертикально, а не горизонтально, как это чаще принято. Такую возможность предоставляет программа Excel. Но далеко не каждый пользователь знает, как ей воспользоваться. Давайте разберемся, какими способами в Экселе можно написать текст вертикально.
Написание записи вертикально
Вопрос включения вертикальной записи в Экселе решается при помощи инструментов форматирования. Но, несмотря на это, для его воплощения на практике существуют разные способы.
Способ 1: выравнивание через контекстное меню
Чаще всего пользователи предпочитают включать вертикальное написание текста при помощи выравнивания в окне «Формат ячеек», куда можно перейти через контекстное меню.
-
Кликаем правой кнопкой мыши по ячейке, где содержится запись, которую мы должны перевести в вертикальное положение. В открывшемся контекстном меню выбираем пункт «Формат ячеек».
Открывается окно «Формат ячеек». Переходим во вкладку «Выравнивание». В правой части открытого окна имеется блок настроек «Ориентация». В поле «Градусов» по умолчанию установлено значение «0». Это означает горизонтальное направление текста в ячейках. Вбиваем в это поле с помощью клавиатуры значение «90».
Также можно поступить несколько по-другому. В блоке «Текст» имеется слово «Надпись». Кликаем по нему, зажимаем левую кнопку мыши и тянем вверх до тех пор, пока слово не примет вертикальное положение. Затем отпускаем кнопку мыши.
Как видим, после данных действий, запись в выделенной ячейке стала вертикальной.
Способ 2: действия на ленте
Ещё проще сделать текст вертикальным – это воспользоваться специальной кнопкой на ленте, о которой большинство пользователей знает ещё меньше, чем об окне форматирования.
-
Выделяем ячейку или диапазон, где планируем размещать информацию.
После этих действий текст в выбранной ячейке или диапазоне отобразится вертикально.
Как видим, этот способ даже удобнее предыдущего, но, тем не менее, используется реже. Кому же все-таки больше нравится выполнять данную процедуру через окно форматирования, то в его соответствующую вкладку можно перейти и с ленты. Для этого, находясь во вкладке «Главная», достаточно нажать на пиктограмму в виде наклонной стрелки, которая размещена в нижнем правом углу группы инструментов «Выравнивание».
После этого будет открыто окно «Формат ячеек» и все дальнейшие действия пользователя должны быть в точности такими же, как и в первом способе. То есть, нужно будет производить манипуляции с инструментами в блоке «Ориентация» во вкладке «Выравнивание».
Если вы хотите, чтобы вертикальным было расположение самого текста, а буквы при этом находились в обычном положении, то это также делается с помощью кнопки «Ориентация» на ленте. Жмем на эту кнопку и в появившемся списке выбираем пункт «Вертикальный текст».
После этих действий текст займет соответствующее положение.
Как видим, существуют два основных способа регулировки ориентации текста: через окно «Формат ячеек» и через кнопку «Выравнивание» на ленте. При чем, оба эти способа используют один и тот же механизм форматирования. Кроме того, следует знать, что существует два варианта вертикального расположения элементов в ячейке: вертикальное расположение букв и аналогичное размещение слов в целом. В последнем случае буквы пишутся в обычном своем положении, но в колонку.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как сделать текст вертикально в Excel?
Иногда бывает нужно написать текст в ячейке Excel вертикально или под другим углом. И в современных версиях программы кнопку для этой функции даже вынесли на верхнюю панель и вкладку Главная. Давайте посмотрим, как ей воспользоваться.
Для начала просто напишем нужный текст в ячейке.
Затем выделим эту ячейку или группу ячеек, в которых нужно сделать текст вертикально и на верхней панели Риббон на вкладке Главная в группе Выравнивание нажмем кнопку Ориентация и выберем вариант Вертикальный текст.
Другой способ — установить вертикальный текст в окне Формат ячеек — вкладка Выравнивание:
Открыть это окно можно:
- на верхней панели Риббон — Главная —группа Выравнивание и далее маленькая стрелочка в нижнем правом углу.
- нажав правую кнопку мыши на выделенных ячейках — Формат ячеек — Выравнивание.
Не забывайте, что можно форматировать не только одну ячейку, но и группу выделенных ячеек.
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.
Есть мнение?
Оставьте комментарий
Понравился материал?
Хотите прочитать позже?
Сохраните на своей стене и
поделитесь с друзьями
Вы можете разместить на своём сайте анонс статьи со ссылкой на её полный текст
Ошибка в тексте? Мы очень сожалеем,
что допустили ее. Пожалуйста, выделите ее
и нажмите на клавиатуре CTRL + ENTER.
Кстати, такая возможность есть
на всех страницах нашего сайта
2007-2020 «Педагогическое сообщество Екатерины Пашковой — PEDSOVET.SU».
12+ Свидетельство о регистрации СМИ: Эл №ФС77-41726 от 20.08.2010 г. Выдано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций.
Адрес редакции: 603111, г. Нижний Новгород, ул. Раевского 15-45
Адрес учредителя: 603111, г. Нижний Новгород, ул. Раевского 15-45
Учредитель, главный редактор: Пашкова Екатерина Ивановна
Контакты: +7-920-0-777-397, info@pedsovet.su
Домен: https://pedsovet.su/
Копирование материалов сайта строго запрещено, регулярно отслеживается и преследуется по закону.
Отправляя материал на сайт, автор безвозмездно, без требования авторского вознаграждения, передает редакции права на использование материалов в коммерческих или некоммерческих целях, в частности, право на воспроизведение, публичный показ, перевод и переработку произведения, доведение до всеобщего сведения — в соотв. с ГК РФ. (ст. 1270 и др.). См. также Правила публикации конкретного типа материала. Мнение редакции может не совпадать с точкой зрения авторов.
Для подтверждения подлинности выданных сайтом документов сделайте запрос в редакцию.
сервис вебинаров
О работе с сайтом
Мы используем cookie.
Публикуя материалы на сайте (комментарии, статьи, разработки и др.), пользователи берут на себя всю ответственность за содержание материалов и разрешение любых спорных вопросов с третьми лицами.
При этом редакция сайта готова оказывать всяческую поддержку как в публикации, так и других вопросах.
Если вы обнаружили, что на нашем сайте незаконно используются материалы, сообщите администратору — материалы будут удалены.
ИнтеллигенцияX
Excel: как «перевернуть»… таблицу
При выполнении расчетов в MS Excel иногда нужно поменять строки и колонки таблицы местами.
Причем речь идет не только о сугубо математических вычислениях.
При обработке экономических или бухгалтерских отчетов такая задача возникает сплошь и рядом!
Обычными формулами или копированием ячеек это делать очень неудобно.
Возникает вопрос: что можно предпринять в подобной ситуации? Но для начала определимся с терминологией.
Операция, в которой строки и столбцы таблицы меняются местами, называется транспонированием.
В Excel (любой версии!) такую операцию можно сделать, как минимум, двумя способами.
Операция несложная, можно обойтись и без рисунков.
Способ 1. Транспонирование данных через специальную вставку.
1) Выделите участок таблицы, которую хотите транспонировать.
2) Скопируйте данные в буфер (комбинации «Ctrl+C» или «Ctrl+Ins»).
3) Поставьте указатель активной ячейки в начало блока, где должна находиться транспонированная таблица.
4) В программе Excel 2003 вызовите «Правка Специальная вставка» (в MS Excel 2010-2016 щелкните левой кнопкой (ЛКМ) по небольшому треугольнику под иконкой «Вставить»). Откроется окно параметров специальной вставки.
5) В этом окне включите флажок «Транспонировать».
6) Нажмите «ОК».
На листе появится транспонированная таблица. Попробуйте изменить данные в исходной таблице.
Заметьте, что содержимое транспонированной таблицы не изменилось!
Важно! Транспонирование через функцию специальной вставки не связывает исходные данные и результат.
После специальной вставки обе таблицы будут автономны.
В этом и заключается основной недостаток первого способа.
Для устранения этого недостатка можно задействовать другой метод решения задачи, – применить формулу-массив. Вот как это сделать.
Способ 2. Транспонирование данных через формулу массив.
1) На свободном участке листа выделите диапазон ячеек для будущей транспонированной таблицы.
2) Не снимая выделения (!) в первую ячейку диапазона запишите формулу «=Трансп(блок)». В качестве параметра «блок» введите диапазон исходной таблицы. Указать диапазон можно, выделив его прямо на рабочем листе.
3) Когда формула готова, нажмите «Ctrl+Shift+Enter». Это важно, т.к. нам нужно не обычное выражение, а формула-массив.
Все данные из первой таблицы будут автоматически отображаться в новой, транспонированной таблице. Откорректируйте исходные данные.
Все изменения появятся в транспонированной таблице.
Важно! Транспонирование таблиц через функцию «=Трансп()» устанавливает связь между источником данных и результатом.
В завершение темы пара замечаний по второму способу.
1) Вставить функцию «=Трансп()» вы можете с помощью Мастера функций, выбирать адреса ячеек можно прямо по рабочему листу. Но есть одна тонкость. После того, как в окне работы с Мастером формула готова, не нажимайте кнопку «ОК» – иначе вы получите обычную формулу, а она для решения задачи не годится. Не закрывая окно Мастера, нажмите комбинацию «Ctrl+Shift+Enter», программа MS Excel вставит на рабочий лист формулу-массив.
2) Диапазон ячеек для транспонированной таблицы желательно выбрать с учетом размеров исходной таблицы. Например, если исходные данные занимали 4 строки и 3 колонки, то диапазон для транспонированной таблицы должен занимать 3 колонки и 4 строки. Если это требование не соблюдать, а диапазон указать «с запасом», ничего страшного не произойдет. Просто в «лишних» ячейках транспонированной таблицы вы увидите значения «#Н/Д». Это означает, что для соответствующих ячеек функция «=Трансп()» не обнаружила данных.
Важно! Стереть значения «#Н/Д» клавишей «Del» не удастся. Excel запрещает удалять элементы формулы-массива.
Чтобы устранить это ограничение, сделайте так.
1) Выделите транспонированную таблицу.
2) Скопируйте ее в буфер обмена.
3) Не снимая выделения, вызовите «Правка Специальная вставка» (в MS Excel 2013-2016 щелкните ЛКМ по треугольнику под иконкой «Вставить»).
4) В окне параметров специальной вставки включите флажок «Значения».
5) Нажмите клавишу «ОК».
С этого момента участок рабочего листа с формулой-массивом превратился в обычные значения.
Вы сможете выделить ненужные ячейки и стереть их обычным способом (например, клавишей «Del»).