2013-04-17 2 views
3

У меня есть эта формула. Это отлично работает, но не работает, когда есть пять символов, включая точку.укорачивание удлинения от имени файла в Excel

Например,

abcdefgh.pdf = TRIM (ЛЕВЫЙ (A1, LEN (A1) -4)) дает мне ABCDEFGH xyz.xlsx = TRIM (СЛЕВА (A2, LEN (A2) -4)) дает xyz.

Есть ли формула, которая ищет последнюю точку и обрезает все после последней точки?

+0

Да, вы можете использовать 'Найти': http://www.techrepublic.com/article/using-excels-find-and-mid-to-extract-a-substring-when-you-dont-know- the-start-point/1033368 – paul

+0

Просто предостережение, но используя здесь функцию 'TRIM', если только вы не намерены удалять какие-либо ведущие/конечные пробелы в имени файла после удаления расширения, что может быть нежелательно. –

ответ

13

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

=LEFT(A1,LOOKUP(2^15,FIND(".",A1,ROW(INDIRECT("1:"&LEN(A1)))))-1)

Если есть только когда-либо одной точки в соответствии с вашими примерами, то вам нужно только

=LEFT(A1,FIND(".",A1)-1)

+0

Большое спасибо. Работал в первую очередь. – torres

+0

Большое спасибо Барри. – Kannabiran

0

Этот хорошо работает

=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",100)),100)) 

Он заменяет каждый период на 100 пробелов, а затем возвращает правильные 100 символов и обрезает его. Вы также можете заменить «.». с "\", чтобы получить имя файла.

Credit to NBVC at excelforum.com

0

Может попробовать ниже формуле.

=SUBSTITUTE(A1,"."& RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,".","|",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))),"") 

Это работает для расширений файлов с 2 до 7 расширений файлов символов с полными путями и пространствами имен нотации в имени файла.

вы можете также использовать

=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,".","|",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))) 

найти расширение файла.

Смежные вопросы