【函数兼容性】SHEETNAME如何兼容

WPS专有函数sheetname只能在WPS中使用,工作中经常将包含这个函数的文档发给客户或上下级单位,接收人员打开包含了sheetname函数的表格就不淡定了。

乱了!通通的都显示错误!

举例文档中为FILTER(源数据,条件=sheetname)这样的公式,那么非WPS(Excel、永中、vole、腾讯文档、飞书文档及其他等)

还有更多没见过的打开方式....

如何破解这种尴尬的场景呢?

搜索了很多资料,发现WPS的专用函数SHEETNAME在Excel上属于被遗弃的函数,早在1992年的Excel 4.0的vba中就支持这个函数了,现在的Excel出于兼容性保留,但官方不再推荐或更新,也不会有任何提示。

现在要使用这个函数也不再只能进vba,使用定义名称即可间接调用,同时可以使用CELL函数直接使用。

其他小众office暂时没有考虑,包括需要联网使用的飞书、腾讯文档等,下面是解决适用范围最广的Excel中如何解决:

功能:显示当前工作表名

WPS

公式:=SHEETNAME()

Excel

公式1:=TEXTAFTER(CELL("filename",A1),"]",-1)

公式2:=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

使用规则:

CELL必须带第二参数 A1(或任意单元格),否则跨表时可能不更新

文件必须已保存(未保存时 CELL 返回结果为空)

功能:获取所有工作表名

WPS

公式:=SHEETSNAME(,0)

Excel

要提前在名称管理器中定义名称

名称:SHEETNAME

引用位置:=GET.WORKBOOK(1)&T(NOW())

公式:

=SHEETNAME得到的结果包含了文件名,

用TEXTAFTER加工下=TEXTAFTER(SHEETNAME,"]")即可得到与WPS=SHEETNAME(,0)相同的结果,

而且定义名称的方法在WPS中也可以正常使用。

总结:

显示当前工作表名:

=SHEETNAME()

仅适配于2024年8月18166正式版(17121内测版)及后的新版本。

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

适配Excel 97及后续版本,WPS 2011及后续版本,兼容性及其优秀。

获取所有工作表名:

=SHEETNAME(,1)

仅适配于2024年8月18166正式版(17121内测版)及后的新版本。

定义名称

适配

1992年,Excel 4.0及以后所有的Excel版本

WPS 2013 专业版及以后的所有版本。

至于飞书文档、腾讯文档等需要网络支持、永中office、vole等基本不再考虑如何兼容,接收文档显示错误的就回复给他“你用的软件非主流,不支持这个功能,请使用WPS office”

VBA宏实现这个功能就交给代码大佬来解决吧。

四川省
浏览 498
收藏
4
分享
4 +1
6
+1
全部评论 6
 
HC.旋
你用的软件非主流,不支持这个功能,请使用WPS office 学到了。
· 福建省
回复
 
Hypnotist
Hypnotist Lv.3 优质创作者WPS寻令官WPS产品体验官

Lv.3优质创作者

飞书和腾讯文档,都是在线文档,不支持WPS的函数很正常,他们都有自己的表名获取方式
· 四川省
回复
懒得批爆
在不知道接收者使用什么软件的情况下,是准备兼容函数的文档还是专用函数的文档?
· 四川省
回复