以前在我的帖子中介绍过用字符串处理函数去树形字段的各级节点的函数公式,不过那个公式只能在树形字段的节点必须是固定为4级节点的时候才能用,在发现这个问题之后.我终于又想出一个方法.下面把函数公式贴给大家.没有看过之前帖子的最好先去看看之前的帖子:http://bbs.mf999.com/forum.php?mod=viewthread&tid=40449
取第一级节点:
IF(len($MF(代理商)$)-len(SUBSTITUTE($MF(代理商)$,"/",""))=1,MID($MF(代理商)$,2,len($MF(代理商)$)-1),MID($MF(代理商)$,2,FIND("/",$MF(代理商)$,2)-2))
取第二级节点:
IF(len($MF(代理商)$)-len(SUBSTITUTE($MF(代理商)$,"/",""))>2,MID($MF(代理商)$,FIND("/",$MF(代理商)$,2)+1,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,2)+1))-(FIND("/",$MF(代理商)$,2)+1)),IF(len($MF(代理商)$)-len(SUBSTITUTE($MF(代理商)$,"/",""))=2,MID($MF(代理商)$,find("/",$MF(代理商)$,2)+1,len($MF(代理商)$)-find("/",$MF(代理商)$,2)),MFNULL()))
取第三级和第四级节点:
IF(len($MF(代理商)$)-len(SUBSTITUTE($MF(代理商)$,"/",""))<3,mfnull(),IF(len($MF(代理商)$)-len(SUBSTITUTE($MF(代理商)$,"/",""))=3,MID($MF(代理商)$,find("/",$MF(代理商)$,find("/",$MF(代理商)$,2)+1)+1,len($MF(代理商)$)-find("/",$MF(代理商)$,find("/",$MF(代理商)$,2)+1)),MID($MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,2)+1))+1,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,2)+1))+1)-FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,FIND("/",$MF(代理商)$,2)+1))-1)))
不得不说,魔方的应用真的很灵活.
|