Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2019 - [решено] Excel 2019: Как преобразовать текст из ячейки одной формулой?

Ответить
Настройки темы
2019 - [решено] Excel 2019: Как преобразовать текст из ячейки одной формулой?

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


Сообщения: 125
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: stuermer01
Дата: 22-06-2022
Добрй день.

Подскажите, как преобразовать текст из ячейки одной формулой, без VBA, по такому правилу:

Ячейка А: TSLA JUN 17 640 CALL

Ячейка В: TSLA220617C00640000

Описание правила:
https://help.yahoo.com/kb/SLN13884.html?guccounter=1


Т.е. нужно вместо названия месяца буквами подставлять номер месяца , а вместо CALL - C, PUT - P.

Отправлено: 15:44, 17-06-2022

 

Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата stuermer01:
из ячейки одной формулой, без VBA, по такому правилу: »
Не самая моя сильная сторона, но если решать задачу в лоб, то получается такая немаленькая формула:
Код: Выделить весь код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(A5;НАЙТИ(" ";A5)-1) &ПРАВСИМВ( ГОД(СЕГОДНЯ());2) & ВПР(ПСТР(A5;НАЙТИ(" ";A5;1)+1;НАЙТИ(" ";A5;НАЙТИ(" ";A5;1)+1)-1-НАЙТИ(" ";A5;1));{"Jan";"01":"Feb";"02":"Mar";"03":"Apr";"04":"May";"05":"Jun";"06":"July";"07":"Aug";"08":"Sept";"09":"Oct";"10":"Nov";"11":"Dec";"12"};2;0) & ПСТР(A5;НАЙТИ("^";ПОДСТАВИТЬ(A5;" ";"^";2));ДЛСТР(A5)-НАЙТИ("^";ПОДСТАВИТЬ(A5;" ";"^";2))+1);" ";"");"CALL";"C");"PUT";"P")
Цитата stuermer01:
JUN »
Вообще стандартное сокращение судя по поиску June, поэтому проверьте и отредактируйте в формуле и остальные сокращения.
Плюс нужно проверить правильность по другим строчкам.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:22, 17-06-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2712
Благодарности: 1687

Профиль | Отправить PM | Цитировать


Короче?
Код: Выделить весь код
=ПСТР(A1;1;4)&(ГОД(СЕГОДНЯ())-2000)*100+ПОИСКПОЗ(ПСТР(A1;6;4);{"JAN ";"FEB ";"MAR ";"APR ";"MAY ";"JUN ";"JUL ";"AUG ";"SEP ";"OKT ";"NOV ";"DEC "};0)&ПСТР(A1;10;2)&ПСТР(A1;13;1)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:11, 17-06-2022 | #3


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


megaloman, да. Тут вопрос, постоянно ли число символов, или оно может меняться. Например начинаться не с TSLA, а скажем с TS

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 21:37, 17-06-2022 | #4


Ветеран


Contributor


Сообщения: 2712
Благодарности: 1687

Профиль | Отправить PM | Цитировать


a_axe, Это к постановщику вопрос. Можно немного длиннее:
Код: Выделить весь код
=ПСТР(A1;1;НАЙТИ(" ";A1)-1)&(ГОД(СЕГОДНЯ())-2000)*100+ПОИСКПОЗ(ПСТР(A1;НАЙТИ(" ";A1)+1;3);{"JAN";"FEB";"MAR";"APR";"MAY";"JUN";"JUL";"AUG";"SEP";"OKT";"NOV";"DEC"};0)&ПСТР(A1;НАЙТИ(" ";A1)+5;2)&ПСТР(A1;НАЙТИ(" ";A1)+8;1)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 17-06-2022 в 22:23.


Отправлено: 22:04, 17-06-2022 | #5


Ветеран


Сообщения: 2606
Благодарности: 247

Профиль | Отправить PM | Цитировать


Цитата a_axe:
megaloman, да. Тут вопрос, постоянно ли число символов, или оно может меняться. Например начинаться не с TSLA, а скажем с TS
Как понимаю, это биржевые операции. Индексы там, по памяти, стандартные, 4-значные.

Отправлено: 09:22, 18-06-2022 | #6


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


Сообщения: 125
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата a_axe:
Тут вопрос, постоянно ли число символов, или оно может меняться. Например начинаться не с TSLA, а скажем с TS »
Может быть от 1 до 5 букв вначале, потом идут цифры. Все буквы вначале надо перенести в новый идентификатор.

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

Последний раз редактировалось stuermer01, 19-06-2022 в 14:06.


Отправлено: 13:37, 19-06-2022 | #7


Ветеран


Contributor


Сообщения: 2712
Благодарности: 1687

Профиль | Отправить PM | Цитировать


stuermer01,
Цитата stuermer01:
Может быть от 1 до 5 букв вначале, потом идут цифры. »
второй вариант, который чуть длиннее, не привязан к числу букв. Главное, чтобы потом был пробел.
С годом как-то замудрёно, не лучше ли в какой-то общей ячейке прописывать год и уже оттуда брать его при преобразовании?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:08, 19-06-2022 | #8


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


Сообщения: 125
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата megaloman:
С годом как-то замудрёно, не лучше ли в какой-то общей ячейке прописывать год и уже оттуда брать его при преобразовании? »
Тоже подойдет.
Т.е. вместо "(ГОД(СЕГОДНЯ())-2000)" подставить ячейку с годом?

Последний раз редактировалось stuermer01, 20-06-2022 в 21:33.


Отправлено: 21:28, 20-06-2022 | #9


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


Сообщения: 125
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата megaloman:
второй вариант, который чуть длиннее, не привязан к числу букв. Главное, чтобы потом был пробел. »
Сорри, в постановке задачи забыл указать страйк - дополнил жирным шрифтом. Формула показывает правильно, но только до буквы С/Р, а потом нужно еще добавить 8-значный код страйка, в котором последние 3 символа под дробную часть отведены.
Т.е. 640 -> 00640000; 641.5 -> 00641500

Отправлено: 17:31, 22-06-2022 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2019 - [решено] Excel 2019: Как преобразовать текст из ячейки одной формулой?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MySQL - Добавить текст в середину ячейки Okot Программирование и базы данных 3 06-12-2017 13:52
2010 - Экспорт данных из одной книги excel в другую Tyamich Microsoft Office (Word, Excel, Outlook и т.д.) 5 27-10-2016 16:31
CMD/BAT - [решено] Как преобразовать слова, написанные на одной линии , на текст в одну строку ufooo Скриптовые языки администрирования Windows 4 17-05-2015 17:13
Разное - [решено] Преобразовать текст dvasek Microsoft Office (Word, Excel, Outlook и т.д.) 2 13-02-2015 01:14
2010 - [решено] Помогите с формулой в Excel Vehal Microsoft Office (Word, Excel, Outlook и т.д.) 5 28-09-2010 20:22




 
Переход