LEFT(MID(INFO("directory"),FIND("\",SUBSTITUTE(INFO("directory"),"\","#",1))+1,2^8),FIND("\", MI...

LEFT(MID(INFO("directory"),FIND("\",SUBSTITUTE(INFO("directory"),"\","#",1))+1,2^8),FIND("\", MID(INFO("directory"),FIND("\",SUBSTITUTE(INFO("directory"),"\","#",1))+1,2^8))-1). 这个公式怎么理解

第1个回答  2012-06-11
呵呵,这个是返回当前目录所在的上一级的目录的名称
这种函数比较麻烦,一般用的很少,如果必须要实现这个目的的话,建设还是用VBA去写会省事很多,当然,前提是你用的EXCEL是需要启用并支持宏;
还有就是公式中的嵌套太多会使整张EXCEL表非常大,这是我们处理大量数据时不愿意看到的,也是会在今后使用过程中出现大的问题,所以要多注意一下;
关于公式不知道是什么意思的话,可以用剥洋葱的方法,一层一层地剥掉就行了,如果最外层当然是LEFT()函数,看一下,LEFT函数的参数都有哪些,有两个,再看,第一个是文本,第二个是左截取的个数,系统一个文本中的子函数是MID(INFO("directory"),FIND("\",SUBSTITUTE(INFO("directory"),"\","#",1))+1,2^8)
里面第二层是MID函数,这个函数有三个参数,可以在EXCEL中把这个函数提取出来,放在另一个单独的单元格中,再点击到公式编辑框中,EXCEL会自动显示出来参数,这样就好判断了
PS,这里面的INFO函数可能会比较难理解一些,可视为一个属性函数,根据参数的不同会调出不同的EXCEL本文档不同的信息,directory就是路径信息;
公式再长也不用害怕,只要是信心一些,认真去剥,哈哈,肯定能拨云见日啦。
第2个回答  2012-06-11
这个公式的目的是,找到当前路径的一级子目录。通过查找第二个“\”的位置,截取当前路径。本回答被提问者和网友采纳
第3个回答  2012-06-11
根据查找的内容进行替换后在进行截取
相似回答