Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставить значение из ячейки после последней точки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Вставить значение из ячейки после последней точки
povsten Дата: Четверг, 19.11.2015, 18:12 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Подскажите пожалуйста, мне нужно в ячейку 1 Excel вставить значение из ячейки 2 после последней точки. Например, C:\foto\278637-Иванов Игорь-Photo-269230.jpg, мне нужно получить только .jpg, т.е. только расширение файла.
Но при этом расширение файла может быть более 3-х символов, а имя может содержать точки, поэтому значение нужно вставить именно после последней точки.
Спасибо.
 
Ответить
СообщениеПодскажите пожалуйста, мне нужно в ячейку 1 Excel вставить значение из ячейки 2 после последней точки. Например, C:\foto\278637-Иванов Игорь-Photo-269230.jpg, мне нужно получить только .jpg, т.е. только расширение файла.
Но при этом расширение файла может быть более 3-х символов, а имя может содержать точки, поэтому значение нужно вставить именно после последней точки.
Спасибо.

Автор - povsten
Дата добавления - 19.11.2015 в 18:12
_Boroda_ Дата: Четверг, 19.11.2015, 18:17 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация: 6502 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ПРАВБ(A1;3+(КОДСИМВ(ПРАВБ(A1;5))=46))

Это на расширение 3 или 4символа
В общем случае так можно
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99));99*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)));99))

или
Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))))+1;99)
К сообщению приложен файл: 984798716_1.xlsx (8.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ПРАВБ(A1;3+(КОДСИМВ(ПРАВБ(A1;5))=46))

Это на расширение 3 или 4символа
В общем случае так можно
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99));99*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)));99))

или
Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))))+1;99)

Автор - _Boroda_
Дата добавления - 19.11.2015 в 18:17
povsten Дата: Четверг, 19.11.2015, 18:27 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
почти, к значению еще эту точку нужно добавить. т.е. не только "jpg", а ".jpg"
 
Ответить
Сообщениепочти, к значению еще эту точку нужно добавить. т.е. не только "jpg", а ".jpg"

Автор - povsten
Дата добавления - 19.11.2015 в 18:27
povsten Дата: Четверг, 19.11.2015, 18:31 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))))+1;99)


Спасибо большое. Классно, убрала из этой формулы +1, все получилось как нужно.
[moder]Для формул используйте спецтеги - кнопка fx. Поправил Вам.


Сообщение отредактировал _Boroda_ - Четверг, 19.11.2015, 18:34
 
Ответить
Сообщение
Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))))+1;99)


Спасибо большое. Классно, убрала из этой формулы +1, все получилось как нужно.
[moder]Для формул используйте спецтеги - кнопка fx. Поправил Вам.

Автор - povsten
Дата добавления - 19.11.2015 в 18:31
_Boroda_ Дата: Четверг, 19.11.2015, 18:33 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация: 6502 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Почти также
К сообщению приложен файл: 984798716_2.xlsx (8.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПочти также

Автор - _Boroda_
Дата добавления - 19.11.2015 в 18:33
povsten Дата: Пятница, 20.11.2015, 13:38 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
а вы могли бы расшифровать каждую формулу, как она ищет и выводит результат
 
Ответить
Сообщениеа вы могли бы расшифровать каждую формулу, как она ищет и выводит результат

Автор - povsten
Дата добавления - 20.11.2015 в 13:38
_Boroda_ Дата: Пятница, 20.11.2015, 14:27 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация: 6502 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Код
=ПРАВБ(A1;4+(КОДСИМВ(ПРАВБ(A1;5))=46))

1. ПРАВБ(A1;5) - дает 5-й символ справа
2. КОДСИМВ(п.1) - дает код первого символа из полученного в п.1
3. код точки равен 46, если п.2 тоже 46, то ИСТИНА, иначе - ЛОЖЬ
4. справа от А1 отсекаем 4 символа +1, если в п.3 ИСТИНА, +0, если ЛОЖЬ

Код
="."&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99));99*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)));99))

1. ПОВТОР(" ";99) - 99 пробелов (если кол-во символов в А1 может быть больше 99, то пишем не 99, а большее число, например, 999)
2. ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99)) - вместо точки подставляем 99 пробелов, получаем что-то типа "ааааа (99пробелов) фффффффф (99пробелов) ккккккккккккккк"
3. ПОДСТАВИТЬ(A1;".";) - вместо точки подставляем пусто
4. ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)) - кол-во символов в А1 минус кол-во символов в А1 без точек = количеству точек в А1
5. ПСТР(п.2; 99*п.4; 99) - 99*п.4 - это по количеству символов где-то внутри последней кучи пробелов (ближе к концу); отрезаем 99 символов от этого места вправо, получаем примерно так " ккккккккккккккк"
6. "."&СЖПРОБЕЛЫ(п.5) - убираем лишние пробелы и прилепляем слева точку.

Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))));99)

1. ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)) - см. п4 выше
2. ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))) - в А1 на место последней точки вставляем значение из А1; получается примерно так: было - фф.ыы.вв, стало фф.ыыфф.ыы.вввв
3. ПОИСК(A1; п.2) - ищем зеленое в п.2, получаем число, равное кол-ву символов до первой зеленой "ф" включительно в п.2; другими словами - номер расположения последней точки
4. ПСТР(А1; п.3; 99) - из А1 берем 99 символов, начиная с полученного в п.3


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Код
=ПРАВБ(A1;4+(КОДСИМВ(ПРАВБ(A1;5))=46))

1. ПРАВБ(A1;5) - дает 5-й символ справа
2. КОДСИМВ(п.1) - дает код первого символа из полученного в п.1
3. код точки равен 46, если п.2 тоже 46, то ИСТИНА, иначе - ЛОЖЬ
4. справа от А1 отсекаем 4 символа +1, если в п.3 ИСТИНА, +0, если ЛОЖЬ

Код
="."&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99));99*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)));99))

1. ПОВТОР(" ";99) - 99 пробелов (если кол-во символов в А1 может быть больше 99, то пишем не 99, а большее число, например, 999)
2. ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";99)) - вместо точки подставляем 99 пробелов, получаем что-то типа "ааааа (99пробелов) фффффффф (99пробелов) ккккккккккккккк"
3. ПОДСТАВИТЬ(A1;".";) - вместо точки подставляем пусто
4. ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)) - кол-во символов в А1 минус кол-во символов в А1 без точек = количеству точек в А1
5. ПСТР(п.2; 99*п.4; 99) - 99*п.4 - это по количеству символов где-то внутри последней кучи пробелов (ближе к концу); отрезаем 99 символов от этого места вправо, получаем примерно так " ккккккккккккккк"
6. "."&СЖПРОБЕЛЫ(п.5) - убираем лишние пробелы и прилепляем слева точку.

Код
=ПСТР(A1;ПОИСК(A1;ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))));99)

1. ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";)) - см. п4 выше
2. ПОДСТАВИТЬ(A1;".";A1;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))) - в А1 на место последней точки вставляем значение из А1; получается примерно так: было - фф.ыы.вв, стало фф.ыыфф.ыы.вввв
3. ПОИСК(A1; п.2) - ищем зеленое в п.2, получаем число, равное кол-ву символов до первой зеленой "ф" включительно в п.2; другими словами - номер расположения последней точки
4. ПСТР(А1; п.3; 99) - из А1 берем 99 символов, начиная с полученного в п.3

Автор - _Boroda_
Дата добавления - 20.11.2015 в 14:27
povsten Дата: Понедельник, 23.11.2015, 11:47 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое.
 
Ответить
СообщениеСпасибо большое.

Автор - povsten
Дата добавления - 23.11.2015 в 11:47
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!