You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从单元格URL中提取指定文本?MID函数参数报错求助

问题分析与解决方案

报错原因

你遇到的Error: Function MID parameter 3 value is negative是因为MID函数的第三个参数(提取文本的长度)计算结果为负数。你的公式错误混用了单元格A2和B2的位置计算:

find(char(1),SUBSTITUTE(B2,"-",char(1),1))- find(char(1),SUBSTITUTE(A2,"-",CHAR(1),1))-1

用B2中第一个-的位置减去A2中第一个-的位置,很容易出现前者小于后者的情况,直接导致长度为负。

修正公式(假设需求:提取B2中第三个/之后到第一个-之前的文本)

根据你原公式的逻辑,正确的长度计算应该基于B2自身的位置,修正后的公式如下:

=MID(B2,FIND(CHAR(1),SUBSTITUTE(B2,"/",CHAR(1),3))+1,FIND("-",B2)-FIND(CHAR(1),SUBSTITUTE(B2,"/",CHAR(1),3))-1)

优化版(提升可读性,适用于Excel 365/2021及以上版本)

=LET(
    thirdSlashPos, FIND(CHAR(1), SUBSTITUTE(B2, "/", CHAR(1), 3)),
    firstDashPos, FIND("-", B2),
    MID(B2, thirdSlashPos + 1, firstDashPos - thirdSlashPos - 1)
)

容错处理(避免无匹配时报错)

如果B2中可能不存在第三个/或第一个-,可以用IFERROR包裹公式:

=IFERROR(MID(B2,FIND(CHAR(1),SUBSTITUTE(B2,"/",CHAR(1),3))+1,FIND("-",B2)-FIND(CHAR(1),SUBSTITUTE(B2,"/",CHAR(1),3))-1),"无匹配内容")

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 17:35:11