Функция инверсия в excel

Содержание

  • 1 Процедура транспонирования
    • 1.1 Способ 1: специальная вставка
  • 2 Способ 2: применение функции
    • 2.1 Помогла ли вам эта статья?
  • 3 Инверсия цвета
  • 4 Как инвертировать выделение?
  • 5 POST SCRIPTUM

как сделать инверсию в excel

Иногда встречаются ситуации, когда требуется перевернуть таблицу, то есть, поменять строки и столбцы местами. Конечно, можно полностью перебить все данные, как вам нужно, но это может занять значительное количество времени. Далеко не всем пользователям Excel известно о том, что в данном табличном процессоре имеется функция, которая поможет автоматизировать эту процедуру. Давайте изучим подробно, как строки сделать столбцами в Excel.

Процедура транспонирования

Смена местами столбцов и строчек в Экселе называется транспонированием. Выполнить данную процедуру можно двумя способами: через специальную вставку и с применением функции.

Способ 1: специальная вставка

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

  1. Выделяем всю таблицу курсором мышки. Кликаем по ней правой кнопкой. В появившемся меню выбираем пункт «Копировать» или просто жмем на клавиатуре сочетание Ctrl+C.
  2. Становимся на том же или на другом листе на пустую ячейку, которая должна будет стать верхней левой ячейкой новой копируемой таблицы. Кликаем по ней правой кнопкой мыши. В контекстном меню переходим по пункту «Специальная вставка…». В появившемся дополнительном меню выбираем пункт с таким же наименованием.
  3. Открывается окно настройки специальной вставки. Устанавливаем галочку напротив значения «Транспонировать». Жмем на кнопку «OK».

как сделать инверсию в excel

Как видим, после этих действий исходная таблица была скопирована в новое место, но уже с перевернутыми ячейками.

как сделать инверсию в excel

Затем, можно будет удалить первоначальную таблицу, выделив её, кликнув курсором, и в появившемся меню выбрав пункт «Удалить…». Но можно этого и не делать, если она не будет вам мешать на листе.

как сделать инверсию в excel

Способ 2: применение функции

Второй способ переворачивания в Экселе предполагает применения специализированной функции ТРАНСП.

  1. Выделяем область на листе, равную по вертикальному и горизонтальному диапазону ячеек исходной таблице. Кликаем по значку «Вставить функцию», размещенному слева от строки формул.
  2. Открывается Мастер функций. В списке представленных инструментов ищем наименование «ТРАНСП». После того, как нашли, выделяем и жмем на кнопку «OK».
  3. Открывается окно аргументов. У данной функции только один аргумент – «Массив». Ставим курсор в его поле. Вслед за этим, выделяем всю таблицу, которую хотим транспонировать. После того, как адрес выделенного диапазона записан в поле, жмем на кнопку «OK».
  4. Ставим курсор в конец строки формул. На клавиатуре набираем сочетание клавиш Ctrl+Shift+Enter. Это действие нужно для того, чтобы данные корректно были преобразованы, так как мы имеем дело не с одной ячейкой, а с целым массивом.
  5. После этого программа выполняет процедуру транспонирования, то есть меняет в таблице столбцы и строки местами. Но перенос был сделан без учета форматирования.
  6. Форматируем таблицу так, чтобы она имела приемлемый вид.

как сделать инверсию в excel

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

Мы выяснили, как поменять местами столбцы и строки в Excel. Существует два основных способа перевернуть таблицу. Каким из них воспользоваться зависит от того, планируете ли вы применение связанных данных или нет. Если таких планов не имеется, то рекомендуется использовать первый вариант решения поставленной задачи, как более простой.

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

Доброго всем субботнего денечка, мои дорогие друзья, товарищи и читатели. Вспомнилось мне тут, когда я только изучал фотошоп, то первое время ковырялся там самостоятельно. И наткнулся я на инструмент «Волшебная палочка», с помощью которого можно было круто выделять объекты.

Да только у меня с этим выделением ничего не получалось и я не понимал, что я делаю не так. Я выделял ей участки фона, а потом пытался перенести нужный мне объект на другую вкладку. Ага, как же. Вместо этого у меня двигалась фоновая часть, а мой объект стоял как вкопанный. Тогда я просто не знал, что такое инверсия в фотошопе, и то, что с помощью нее можно упростить некоторые моменты.

Что такое инверсия по сути? Это изменение какого-либо свойства в совершенно противоположную сторону. например, если мы сделаем инверсию цветов на фотографии, то получим негатив. А если мы выделим объект и инвертируем выделение, то выделено будет всё, кроме объекта. Суть ясна? Хотя давайте лучше рассмотрим на живом примере, как сделать инверсию в фотошопе…

Инверсия цвета

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

как сделать инверсию в excel

Тут никаких премудростей нет. Вам всего лишь надо будет выбрать в верхнем меню пункт «Изображение» — «Коррекция» — «Инверсия». Либо вы просто можете нажать комбинацию клавиш Ctrl+I. Это даже проще и я вам действительно рекомендую пользоваться горячими клавишами.

как сделать инверсию в excel

Смотрим, во что превратилась наша фотка. Клёво, да? Белый фон стал черным, а сам наш колючий друг стал негативным (ну в смысле не злым, а…ну вы поняли).

как сделать инверсию в excel

Как инвертировать выделение?

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

  1. Давайте выберем какой-нибудь изображение и выделим его, например с помощью режима быстрой маски. Выберите этот режим, затем кисть, после чего начинайте закрашивать нашего ежика. как сделать инверсию в excel
  2. Так, теперь давайте уберем маску. Что мы здесь видим? А видим мы то, что выделился не еж, а фон вокруг него, и если мы попытаемся переместить колючую животинку куда-нибудь, то выйдет у нас ай-ай-ай как нехорошо. На нас ругнутся, что мы не то пытаемся перетащить, так как выделилась область, а не объект. Вот эту область только и можно будет двигать.как сделать инверсию в excel
  3. А теперь то нам и нужно инвертировать выделение, чтобы перекинуть его не на область вокруг животного, а на самого ежа. Сделать это просто. В меню нужно выбрать «Выделение» — «Инверсия», либо же нажать комбинацию клавиш SHIFT+CTRL+Iкак сделать инверсию в excel
  4. Опа. Теперь что мы видим? То, что пунктир поменялся и теперь он бегает вокруг ёжика. Ну а дальше мы уже можем взять инструмент «Перемещение» и двигать этот объект как хотим. Задача выполнена. 

Если у вас после данной статьи остались какие-то непонятки, то я записал подробный видеоурок на эту тему.

Надеюсь, что тема для вас была более, чем понятна. Ну а если вы хотите за короткий срок изучить фотошоп, то я вам рекомендую смотреть именно этот курс. Здесь всё разложено по полочкам от простого к сложному, а главное, что всё понятно и доступно.

POST SCRIPTUM

Дорогие друзья. У меня для вас небольшое объявление. Я думаю, что вы помните как я рассказывал о том, как я собираюсь пойти на тренинг по социальным проектам от Дмитрия Сидаша и Александра Борисова? Так вот если вы вы еще думаете, то торопитесь, так как с 11.07.2016 года, т.е. послезавтра цена на оба тренинга повышается.

Если сейчас «Мастер контентных проектов» стоит 16990 рублей до результата, то послезавтра стоимость поднимается до 33980 рублей! «Мастер социальных проектов» также поднимается с 12990 рублей до 25980 рублей. Так что думаем. Кроме того, если вы решитесь, то у меня для вас есть небольшие бонусы, в том числе и скидка на обучение.

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

С уважением, Дмитрий Костин.

На чтение 4 мин Просмотров 1.1к. Опубликовано 27.04.2022

Бывают ситуации, когда вам нужно «перевернуть» вашу табличку. То есть сделать так, чтобы данные, которые находятся вверху — были внизу.

И да, это удивительно, но в программе нет специальной функции для этого.

Конечно же, мы можем сделать это сразу несколькими методами. Но именно своей функции для такой задачи в Excel нет.

Итак, начнём!

Содержание

  1. С помощью функции «Сортировка»
  2. По вертикали
  3. По горизонтали
  4. C помощью СОРТПО и ИНДЕКС
  5. С помощью СОРТПО
  6. С помощью ИНДЕКС
  7. С помощью Visual Basic

С помощью функции «Сортировка»

Это, наверное, самый быстрый и удобный метод.

По вертикали

Допустим, нам нужно отсортировать данные в обратном порядке, для следующей таблички:

Пошаговая инструкция:

  • Создайте столбик для расчетов (мы назовем его «Helper»);

  • Выделите табличку и щелкните на «Данные»;

  • Далее — «Сортировка»;

  • В первом параметре сортировки выберите наш столбик для расчетов;

  • А в третьем — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можно удалить столбик для расчетов.

Мы рассмотрели табличку, в которой есть только один столбик с данными(не считая имен). Но его можно использовать независимо от того, сколько у вас столбиков с данными.

По горизонтали

Практически тоже самое с табличками по горизонтали.

Итак, давайте рассмотрим такой пример.

Допустим, у нас есть такая табличка:

Пошаговая инструкция:

  • Создаем столбик для расчетов, только теперь это не столбик, а строка. Так как табличка у нас горизонтальная;

  • Открываем «Сортировка»;
  • Жмем «Параметры…»;

  • И выберите «Столбцы диапазона»;

  • Подтвердите;
  • В первом параметре выберите ту строку, которая является строкой для расчетов.

  • В третьем параметре — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можете смело удалять строку для расчетов.

C помощью СОРТПО и ИНДЕКС

Функция ИНДЕКС доступна для всех, а вот функция СОРТПО доступна только по платной подписке Office 365.

С помощью СОРТПО

Допустим, у нас есть такая табличка:

Создадим еще два столбика, с теме же заголовками. Там будет наша обработанная табличка.

Формула функции примет такой вид:

=СОРТПО($A$2:$B$12;СТРОКА(A2:A12);-1)

Сортировка происходит по данным, полученным из функции СТРОКА.

Она создает массив с порядковыми номерами строк.

А последний аргумент в функции (“-1”) говорит Excel о том, что нам нужен порядок «По убыванию».

Вот, собственно, и все!

С помощью ИНДЕКС

Мало кто пользуется Microsoft 365 и платит за подписку, но не переживайте, если вы из таких людей, то для вас есть выход!

Допустим, у нас та же табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$A$12;СТРОКА(A2:$A$12))

Что мы сделали?

Функция СТРОКА, в результате выполнения, отдает нам кол-во строчек в диапазоне ячеек.

И этот результат будет становиться меньше и меньше.

А ИНДЕКС, по номеру строки, отдает нам значение этой строки. Таким образом мы получаем порядок «По убыванию».

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

Допустим, у вас есть такая табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$B$12;СТРОКА(A2:$A$12);СТОЛБЕЦ($A$2:A2))

Все также, только мы дополнительно указали столбик, откуда функция ИНДЕКС должна брать данные и помещать в новые ячейки.

Если вы решили отсортировать данные — помните, что отменить сортировку у вас не получится. Если исходная сортировка для вас важна, то сделайте копию оригинальной таблички.

С помощью Visual Basic

И, как обычно, рассмотрим метод с Visual Basic.

Это решение отлично подойдет для тех, кто использует такую сортировку очень часто.

Вот нужный нам код Visual Basic:

Sub FlipVerically()     

Dim TopRow As Variant 
Dim LastRow As Variant 
Dim StartNum As Integer 
Dim EndNum As Integer   

Application.ScreenUpdating = False   

StartNum = 1 
EndNum = Selection.Rows.Count   

Do While StartNum < EndNum 
TopRow = Selection.Rows(StartNum) 
LastRow = Selection.Rows(EndNum) 
Selection.Rows(EndNum) = TopRow 
Selection.Rows(StartNum) = LastRow 
StartNum = StartNum + 1 
EndNum = EndNum - 1 
Loop   

Application.ScreenUpdating = True 
End Sub

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

Куда нужно поместить код?

Пошаговая инструкция:

  • ALT + F11;

  • Правой кнопкой мышки на любой лист -> «Insert» -> «Module»;

  • В открывшееся окошко вставьте наш код и закройте Visual Basic;

А дальше, чтобы использовать функцию — выделите табличку и нажмите «Run Macro» (или F5).

В этой статье, я рассказал вам о том, как можно отсортировать данные в обратном порядке. Мы рассмотрели как сделать это с помощью встроенной функции “Сортировка”, с помощью СОРТПО и ИНДЕКС, а также Visual Basic.

Надеюсь, эта статья оказалась полезна для вас!

В этой статье объясняется формула, сочетающая функции TEXTJOIN и MID для изменения порядка текстовых строк в ячейке в Excel.


Как перевернуть текстовую строку в ячейке в Excel?

Общая формула

=TEXTJOIN(«»,1,MID(text_string,{10,9,8,7,6,5,4,3,2,1},1)

аргументы

Текстовая_строка: Текстовая строка, порядок которой нужно изменить. Это может быть:

  • 1. Текст, заключенный в кавычки;
  • 2. Или ссылку на ячейку, содержащую текст.

Как пользоваться этой формулой?

1. Выберите пустую ячейку, чтобы вывести обратный результат.

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

=TEXTJOIN(«»,1,MID(B5,{10,9,8,7,6,5,4,3,2,1},1))

Советы: Вы можете заменить в формуле число 1 на ИСТИНА. Это означает, что пустые элементы в массиве будут проигнорированы.

Как работает эта формула?

=TEXTJOIN(«»,1,MID(B5,{10,9,8,7,6,5,4,3,2,1},1))

  • 1. MID(B5,{10,9,8,7,6,5,4,3,2,1},1): Функция MID извлекает каждый символ текстовой строки в B5 в обратном порядке. Здесь результат: {«», «», «», «», «», «l», «e», «c», «x», «E»};
  • 2. TEXTJOIN(«»,1,{«»,»»,»»,»»,»»,»l»,»e»,»c»,»x»,»E»}): Функция TEXTJOIN объединяет каждый символ в массиве и игнорирует пустые места. Конечным результатом будет «lecxE».

Примечание: Приведенная выше формула работает правильно, если длина текстовой строки равна или меньше 10 символов. Чтобы перевернуть текстовую строку, длина которой превышает 10 символов, примените следующую формулу массива:
=TEXTJOIN(«»,1,MID(A1,ABS(ROW(INDIRECT(«1:»&LEN(A1)))-(LEN(A1)+1)),1))
Пожалуйста, не забудьте нажать Ctrl + Shift + Enter ключи вместе, чтобы получить правильный результат.


Связанные функции

Функция TEXTJOIN в Excel
Функция Excel TEXTJOIN объединяет несколько значений из строки, столбца или диапазона ячеек с определенным разделителем.

Функция Excel MID
Функция MID используется для поиска и возврата определенного количества символов из середины данной текстовой строки.


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (3)


Оценок пока нет. Оцените первым!

 

Ser8191

Пользователь

Сообщений: 59
Регистрация: 02.01.2017

Добрый вечер.
Имеется некое число: 00001111
Мне нужно инвертировать это число, получить: 11110000

Я это делаю так:
1. Заменяю 1 на 2 : 00002222
2. Заменяю 0 на 1 : 11112222
3. Заменяю 2 на 0 : 11110000
Есть ли  функция для этой цели?

вопрос удален [МОДЕРАТОР]

Прикрепленные файлы

  • 1001.xlsx (10.02 КБ)

 

panix1111

Пользователь

Сообщений: 149
Регистрация: 14.01.2016

#2

18.07.2017 22:27:08

формула инверсии исходных клеточек

Код
=N(NOT(I2))&N(NOT(H2))&N(NOT(G2))&N(NOT(F2))&N(NOT(E2))&N(NOT(D2))&N(NOT(C2))&N(NOT(B2))

Изменено: panix111118.07.2017 22:28:13

Мы в Екселе не работаем, мы в нём живём!

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Справа налево из исходного  диапазона:
=ТЕКСТ(СУММ((1-B2:I2)*10^(9-СТОЛБЕЦ(B1:I1)));»00000000″)
Инвертированное из исходного  диапазона:
=ТЕКСТ(СУММ((1-B2:I2)*10^(9-СТОЛБЕЦ(B1:I1)));»00000000″)
Это формулы масива, ввод тремя клавишами.

Инвертирование из исходного диапазона простой сцепкой:
=1-I2&1-H2&1-G2&1-F2&1-E2&1-D2&1-C2&1-B2

 

AAF

Пользователь

Сообщений: 1000
Регистрация: 18.12.2016

#4

18.07.2017 23:19:19

Цитата
Ser8191 написал:
инвертировать это число

Это не инверсия числа, а реверс строки

Код
Function Mirror(v)
Mirror = StrReverse(v)
End Function

Function Negative(v) 'а то можно было понять и так
Negative = String(Len(v), "1") - v
End Function

Изменено: AAF18.07.2017 23:23:05

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#5

18.07.2017 23:33:06

Цитата
AAF написал:
Это не инверсия числа, а реверс строки

В приведенных примерах да — реверс, но, если разговор именно про инверсию? ) Например, 01001111.

 

AAF

Пользователь

Сообщений: 1000
Регистрация: 18.12.2016

Юрий М, Function Negative

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Это ведь только моё предположение )) Может автору нужен именно реверс — я не знаю.

 

AAF

Пользователь

Сообщений: 1000
Регистрация: 18.12.2016

#8

18.07.2017 23:57:32

В файле примере нужен реверс оказывается… Поэтому я и заострил внимание, а то пример тоже не очень удался, т.к. 00001111 симметрично. )
По идее инверсия вот:

Код
Sub ReverByte()
Dim i As Byte
i = 2       '00000010
i = Not i   '11111101 инверсия
End Sub

Но для произвольной разрядности вот:

Код
Function Negative(v) 
Negative = String(Len(v), "1") - v
End Function

Изменено: AAF19.07.2017 00:08:33

 

Ser8191

Пользователь

Сообщений: 59
Регистрация: 02.01.2017

Большое спасибо, нужна именно инверсия, 0 на 1, 1 на 0.
00100000
11011111

 

AndreTM

Пользователь

Сообщений: 454
Регистрация: 02.05.2013

Если исходные «двоичные значения» содержат не более 9 разрядов — то можно использовать формулу:
=ПРАВБ(ДЕС.В.ДВ(-ДВ.В.ДЕС(K2)-1);8)
здесь 8 — это число нужных нам разрядов в ответе.

Изменено: AndreTM19.07.2017 10:12:16

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Ser8191

Пользователь

Сообщений: 59
Регистрация: 02.01.2017

#12

20.07.2017 15:20:36

Спасибо

Хитрости »

4 Май 2011              57906 просмотров


Как перевернуть слово?

Не самая распространенная, но тем не менее встречающаяса задача: перевернуть слово. Т.е. расположить буквы слова в обратном порядке. Из «привет» сделать «тевирп». Если честно, то сейчас затрудняюсь озвучить конкретную ситуацию, в которой это может пригодиться. Сам использовал когда-то в случае, когда надо было перевернуть числовые значения с еще некоторыми манипуляциями. Но ситуации бывают разные, как и решения задачи, которых несколько.
Сначала я хотел бы описать способы переворачивания слова средствами 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) —InsertModule. Вставляем туда приведенный выше код. Выделяем ячейку с любым словом -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) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций, отыскав её в категории Определенные пользователем (User Defined Functions).


Способ 3: стандартными функциями в любой версии Excel
Сразу хочу оговориться — стандартными формулами сделать это хоть и можно, но не совсем просто и совершенно неудобно. Для этого потребуется гораздо больше манипуляций, чем через VBA. Хотя для кого-то, возможно, способ формулами будет более прост, чем через VBA. Для начала необходимо будет включить итеративные вычисления в функциях:

  • Excel 2003: Сервис -Параметры -Вычисления -ставим галочку Итерации
  • Excel 2007: Меню -Параметры Excel -Формулы -Включить итеративные вычисления
  • Excel 2010 и выше: Файл -Параметры -Формулы -Включить итеративные вычисления

Устанавливаем предельное число итераций — 1. Если слово, которое необходимо перевернуть записано в ячейке А1, то формула будет выглядеть следующим образом:
=ЕСЛИ(ДЛСТР(B1)>=ДЛСТР(A1);B1;ЕСЛИ(ДЛСТР(B1)=1;ПСТР(A1;ДЛСТР(A1);1);B1)&ПСТР(A1;ДЛСТР(A1)-ДЛСТР(B1);1))
=IF(LEN(B1)>=LEN(A1),B1,IF(LEN(B1)=1,MID(A1,LEN(A1),1),B1)&MID(A1,LEN(A1)-LEN(B1),1))
Но в данном случае мало просто записать формулу. При внесении формулы в ячейку она сразу не выдаст необходимый результат. Необходимо пересчитывать формулу до тех пор, пока все слово не перевернется(я просто нажал и удерживал клавишу F9). Эту формулу я придумал чисто «из спортивного интереса». Но кому-то, возможно, будет гораздо проще так, чем через VBA.
В приложенном к статье файле помимо рассмотренных примеров есть еще один вариант решения формулами, который лично мне не нравится своей очевидностью, а главное — он «растягивается» на несколько ячеек. Это не очень удобно, но избавляет от необходимости включать итерации. Хотя на мой взгляд это единственный положительный момент в данном способе:
=ЕСЛИ(СТОЛБЕЦ(A1)>ДЛСТР($A2);»»;B2&ПСТР($A2;ДЛСТР($A2)+1-СТОЛБЕЦ(A1);1))
=IF(COLUMN(A1)>LEN($A2),»»,B2&MID($A2,LEN($A2)+1-COLUMN(A1),1))
Слово в ячейке $A2, B2 должна быть пустой, а уже с C2 начинается формула.
При желании можно в какой-либо другой ячейке записать формулу сцепления всех полученных ячеек с запасом, чтобы получить единое слово в обратном порядке.


Функция для Excel 2016 и выше
А для счастливых обладателей Excel 2016, 365 и выше можно использовать простую и гибкую формулу массива(вводится в ячейки такая формула сочетанием трех клавиш Ctrl+Shift+Enter):
=ОБЪЕДИНИТЬ(«»;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 772 скачиваний)

Так же см.:
Функция перемещения слова в строке
Надстройка для замены и перемещения слов/аббревиатур
Как перевернуть адрес


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Функция задания цвета в excel
  • Функция задана графически excel
  • Функция заголовок в excel
  • Функция завтра в excel
  • Функция зависимости формул в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии