关于琳琅注册
欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
图片
小伙伴们好,今天在论坛上看到这样一道题目,忍不住要和大家分享一下。原题是这样子的:
图片
怎样分别对“/”左右两侧的数据求和呢?
这样的数据录入结构我们是经常会遇到的。因此这道题目的方法和思路将会是你今后解决这类问题的宝藏!
01普通方法:
图片
这道题我们最直接的反应是,分别对“/”左右两侧的数据求和后,再用“/”把它们连接起来。
=SUM(--LEFT(C3:E3,FIND("/",C3:E3)-1))&"/"&SUM(--MID(C3:E3,FIND("/",C3:E3)+1,99))
在单元格F3中输入上述公式,三键回车并向下拖曳即可。
一句话解释:
这个公式思路非常简单。用FIND函数在源数据中查找“/”,找到后就很可以分别向左和向右提取数据。完成后再分别求和,最后用“/”把两部分再组合起来。
02华丽的公式:
图片
EXCEL为我们提供了一组工程函数。虽然在平时我们几乎用不到工程函数,但今天的这道题目却巧妙地利用的工程函数的特点。
=SUM(IMREAL(SUBSTITUTE(C3:E3,"/","+")&"i"))&"/"&SUM(IMAGINARY(SUBSTITUTE(C3:E3,"/","+")&"i"))
在单元格F3中输入公式“”,三键回车并向下拖曳即可。
SUBSTITUTE(C3:E3,"/","+")&"i")
利用SUBSITUTE函数将“/”替换为“+”,并添加后缀“i”,其实成为复数格式。这时,生成一个内存数组{"1200+12i","1300+13i","1500+14i"}。这这个内存数组中,加号前面的是实数部分,加号后面的是虚数部分。
IMREAL(SUBSTITUTE(C3:E3,"/","+")&"i")
接下来利用IMREAL函数来提取复数中的实数部分。结果为{1200,1300,1500}。
IMAGINARY(SUBSTITUTE(C3:E3,"/","+")&"i")
同样,虚数部分的结果是{12,13,14}
SUM(IMREAL(SUBSTITUTE(C3:E3,"/","+")&"i"))&"/"&SUM(IMAGINARY(SUBSTITUTE(C3:E3,"/","+")&"i"))
最后分别求和后再用“/”将两部分组合。
03惊艳的公式:
图片
还是工程函数,不过这次公式更加简洁明了。
=SUBSTITUTE(SUBSTITUTE(IMSUM(SUBSTITUTE(C3:E3&"i","/","-")),"-","/"),"i",)
在单元格F3中输入上述公式,三键回车后并向下拖曳即可。
SUBSTITUTE(C3:E3&"i","/","-")
同样是利用SUBSTITUTE函数替换符号,形成复数格式。它生成的结果是{"1200-12i","1300-13i","1500-14i"}。
IMSUM(SUBSTITUTE(C3:E3&"i","/","-"))
这次使用IMSUM函数,同时对实数部分和虚数部分求和。结果为"4000-39i"。
你看,这时所有的实数部分总和变为了一个新的复数的实数,所有虚数部分的总和变为了一个新的复数的虚数。
SUBSTITUTE(SUBSTITUTE(IMSUM(SUBSTITUTE(C3:E3&"i","/","-")),"-","/"),"i",)
最后再连续用两次SUBSTITUTE函数将符号替换就好了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。