@Svoboo

Как вычислить операцию в ячейке excel написанную текстом?

66ab9f384acab108523112.png
Здравствуйте! Подскажите пожалуйста как можно в стоблце excel C1 получать результат вычитания, написанного в B1?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 5
BasiC2k
@BasiC2k
.NET developer (open to job offers)
В VBA есть функция Evaluate
Как раз с её помощью можно выполнять арифметические операции, переданные в функцию строкой.
Вам нужно воздать пользовательскую формулу, используя Evaluate вычислить значение и вернуть результат обратно на лист.
Ответ написан
Комментировать
Если кратко:
в колонке D пишите формулу которая вычленяет число до тире:
Что-то вроде =LEFT(B1,FIND("-",B1)-1)
в колонке E пишите формулу которая вычленяет число после тире:
Что-то вроде =RIGHT(B1,LEN(B1) - FIND("-",B1)-1)
в колонке F пишите формулу вычитания:
Что-то вроде =D1-E1
При желании в колонке C можете руками склеить формулы выше, чтобы все было в одной ячейке
Ответ написан
zamboga
@zamboga
Аналитика данных, BI-аналитика, дашборды
Бесплатная надстройка ASAP Utilities → Download → Home and Student edition → установить надстройку (русский язык тоже есть)

"Текст" → "Вставить перед и/или после содержимого каждой ячейки" → добавляете "="
Если Excel продолжает считать, что это текст:
"Числа и даты" → "Преобразовать нераспознанные числа (текст?) в числовой формат"

Аналогично можно проделать через надстройку Plex, но она уже платная.
Ответ написан
Комментировать
NikitaDvorets
@NikitaDvorets
Консалтинг / экономика / программирование (excel)
Пояснение по методу Evaluate

66c44c6965e01182547494.jpeg
Ответ написан
Комментировать
Darzza
@Darzza
Добрый день!
Предлагаю такую формулу:
=(--ЛЕВСИМВ(B3;НАЙТИ("-";B3)-1))-(--ПРАВСИМВ(B3;ДЛСТР(B3)-ДЛСТР(--ЛЕВСИМВ(B3;НАЙТИ("-";B3)-1))-1))

66e7f689126c7079672379.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы