Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Excel中的文件名修剪扩展名_Excel_Trim - Fatal编程技术网

从Excel中的文件名修剪扩展名

从Excel中的文件名修剪扩展名,excel,trim,Excel,Trim,我有这个公式。这非常有效,但当包含点的字符数为5个时,则会失败 比如说, abcdefgh.pdf=TRIM(左(A1,LEN(A1)-4))给了我abcdefgh xyz.xlsx=TRIM(左(A2,LEN(A2)-4))为我提供了xyz 是否有一个公式可以查找最后一个点并修剪最后一个点之后的所有内容?尝试使用此公式来去除最后一个点和最后一个点之后的所有内容 =左(A1,查找(2^15,查找(“.”),A1,行(间接(“1:”&LEN(A1“))))-1) 如果根据你的例子只有一个点,那么你

我有这个公式。这非常有效,但当包含点的字符数为5个时,则会失败

比如说,

abcdefgh.pdf=TRIM(左(A1,LEN(A1)-4))给了我abcdefgh xyz.xlsx=TRIM(左(A2,LEN(A2)-4))为我提供了xyz


是否有一个公式可以查找最后一个点并修剪最后一个点之后的所有内容?

尝试使用此公式来去除最后一个点和最后一个点之后的所有内容

=左(A1,查找(2^15,查找(“.”),A1,行(间接(“1:”&LEN(A1“))))-1)

如果根据你的例子只有一个点,那么你只需要


=LEFT(A1,FIND(“.”,A1)-1)

这个公式很有效

=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",100)),100))
它用100个空格替换每个句点,然后返回右100个字符并对其进行修剪。您还可以将“.”替换为“\”以获取文件名


可以尝试以下公式

=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,".","")))))

查找文件扩展名。

是的,您可以使用
find
:这只是一种预防措施,但在此处使用
TRIM
功能,除非您打算在删除扩展名后删除文件名中的任何前导/尾随空格,这可能是不需要的。非常感谢。第一次尝试就成功了。