在线Excel(SharePoint)中TEXTAFTER取工作表名报#VALUE!求助
问题场景
桌面版Excel中用=TEXTAFTER(CELL("filename",A3),"]")可正常提取工作表名称,但上传至SharePoint后通过网页打开时返回#VALUE!错误。尝试以下两个公式后问题依旧:
=PART(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255)=PART(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;LENGTH(CELL("filename";A1))-FIND("]";CELL("filename";A1)))
可行解决方法
方法1:兼容网页版的MID容错写法
网页版Excel中CELL("filename")返回的路径格式可能不含],且默认使用MID而非PART函数,替换为以下公式:
=IFERROR(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,LEN(CELL("filename",A1))),RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("/",CELL("filename",A1),FIND("/",CELL("filename",A1))+1)))
逻辑:先尝试通过]分割提取,失败则改用SharePoint路径的/分隔符定位工作表名。
方法2:直接使用CELL("sheetname")(优先尝试)
如果网页版支持该参数,可直接用更简洁的公式:
=CELL("sheetname",A1)
若该参数不支持,再用多层容错的组合公式:
=IFERROR(TEXTAFTER(CELL("filename",A1),"]"),IFERROR(MID(CELL("filename",A1),SEARCH("]",CELL("filename",A1))+1,255),RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-SEARCH("/",CELL("filename",A1),SEARCH("/",CELL("filename",A1))+1))))
注意事项
- 公式中的分隔符(逗号/分号)需匹配当前Excel的区域设置,英文环境用逗号,中文环境用分号,否则会触发语法错误。
- SharePoint网页版的
CELL函数返回路径格式与桌面版不同,可能无]标识,需依赖路径中的/来定位工作表名。
内容的提问来源于stack exchange,提问作者Rhiga
相关产品推荐
相关产品推荐

