如何用Excel公式自动计算单元格括号内两数的差值?
Excel自动计算括号内数值差值的公式
兼容所有Excel版本的公式
针对你提供的单元格内容,直接用下面的公式就能自动提取括号内的两个数值并计算差值:
=ABS(VALUE(LEFT(MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1),SEARCH(";",MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1))-1)) - VALUE(MID(MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1),SEARCH(";",MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1))+1,99))
公式拆解:
- 提取括号内文本:
MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1)会从目标单元格中提取出括号里的117;118 - 拆分第一个数值:
LEFT(提取的文本,SEARCH(";",提取的文本)-1)取出分号左侧的117,用VALUE转成可计算的数值 - 拆分第二个数值:
MID(提取的文本,SEARCH(";",提取的文本)+1,99)取出分号右侧的118,同样转成数值 - 计算差值:用
ABS确保不管括号内数值顺序如何,结果都是正的差值
Excel 365/2021简化版公式
如果你用的是新版本Excel,用TEXTSPLIT函数能大幅简化公式:
=LET( num_text, MID(B5,SEARCH("(",B5)+1,SEARCH(")",B5)-SEARCH("(",B5)-1), nums, TEXTSPLIT(num_text,";"), ABS(nums[2]-nums[1]) )
这个公式先把括号内的文本拆分到数组里,再直接取两个数计算差值,可读性更强。
把公式里的B5替换成你实际存放目标文本的单元格即可。
内容的提问来源于stack exchange,提问作者lebite
相关产品推荐
相关产品推荐

