excel表格中,单元格内文字和数字多个重合,如何
求和
篇一:如何在EXCEL单元格里提取字符并求和
在A1单元格里数组为1+10-20 在B1单元格里数组为-2+55-122;请问如何把A1和B1单格里正负数各自提取求和,如这样,提取A1单元与B1的数字,1、10、55在C1求和。提取-20、-2、-122在D1求和,求这两个公式,请指教!
你可以直接copy这几个公式
C1: =SUMIF(D3:D11,0)
D1: =SUMIF(D3:D11,<0)
C2: =SUBSTITUTE(SUBSTITUTE(IF(LEFT(A1,1)=-,0&A 1,A1)&IF(LEFT(B1,1)=-,B1,+&B1),+,,),-,,-)& ;,
count函数怎么统计文字C4: =FIND(,,C$2,C3+1)
D3: =VALUE(MID($C$2,C3+1,C4-C3-1))
甚至可以适用于类似3+12-45+32+2 和8-9-111+6等复杂情况。
如果你非得用一个函数实现(不用任何辅助单元格),需要用VB。
补充回答:VB方法如下,
在Excel里,同时按Alt和F11,进入VB界面,右键点左上窗口的Thisworkbook,插入,模块,在右边窗口粘贴如下代码:Function SumP(Range1 As Range, Range2 As Range) As Long
Dim i, j As Byte
Dim tmp As String
SumP = 0
j = 1
tmp = IIf(Left(Range1, 1) = -, Range1, & Range1) & IIf(Left(Range2, 1) = -, Range2, + & Range2) & tmp = Replace(tmp, -, -)
tmp = Replace(tmp, +, )
For i = 1 T o Len(tmp) - Len(Replace(tmp, , )) - 1
If CLng(Trim(Mid(Left(tmp, InStr(j + 1, tmp, ) - 1), j + 1, 10))) 0 Then SumP = SumP + CLng(Trim(Mid(Left(tmp, InStr(j + 1, tmp, ) - 1), j + 1, 10)))
j = InStr(j + 1, tmp, )
Next i
End Function
Function SumN(Range1 As Range, Range2 As Range) As Long
Dim i, j As Byte
Dim tmp As String
SumN = 0
j = 1
tmp = IIf(Left(Range1, 1) = -, Range1, & Range1) & IIf(Left(Range2, 1) = -, Range2, + & Range2) & tmp = Replace(tmp, -, -)
tmp = Replace(tmp, +, )
For i = 1 T o Len(tmp) - Len(Replace(tmp, , )) - 1
If CLng(Trim(Mid(Left(tmp, InStr(j + 1, tmp, ) - 1), j + 1, 10))) < 0 Then SumN = SumN + CLng(Trim(Mid(Left(tmp, InStr(j + 1, tmp, ) - 1), j + 1, 10)))
j = InStr(j + 1, tmp, )
Next i
End Function
会到Excel里,在C1输入=sump(a1,b1),在D1输入=sumn(a1,b1)
这两个函数是通过VB自定义的。
以上方法,全部经过检验,满足你的要求。
公式是单个或多个函数的结合运用。
AND “与”运算,返回逻辑值,仅当有参数的结果均为逻辑“真(TRUE)”时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。条件判断
A VERAGE 求出所有参数的算术平均值。数据计算
COLUMN 显示所引用单元格的列标号值。显示位置
CONCATENATE 将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。字符合并
COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。条件统计
DATE 给出指定数值的日期。显示日期
DATEDIF 计算返回两个日期参数的差值。计算天数
DAY 计算参数中指定日期或引用单元格中的日期天数。计算天数
DCOUNT 返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。条件统计
FREQUENCY 以一列垂直数组返回某个区域中数据的频率分布。概率计算
IF 根据对指定条件的逻辑判断的真假结果,返回相对应条件触发的计算结果。条件计算
INDEX 返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。数据定位
INT 将数值向下取整为最接近的整数。数据计算
ISERROR 用于测试函数式返回的数值是否有错。如果有错,该函数返回TRUE,反之返回FALSE。
LEFT 从一个文本字符串的第一个字符开始,截取指定数目的字符。截取数据
LEN 统计文本字符串中字符数目。字符统计
MATCH 返回在指定方式下与指定数值匹配的数组中元素的相应位置。匹配位置
MAX 求出一组数中的最大值。数据计算
MID 从一个文本字符串的指定位置开始,截取指定数目的字符。字符截取逻辑判断
MIN 求出一组数中的最小值。数据计算
MOD 求出两数相除的余数。数据计算
MONTH 求出指定日期或引用单元格中的日期的月份。日期计算
NOW 给出当前系统日期和时间。显示日期时间
OR 仅当所有参数值均为逻辑“假(FALSE)”时返回结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)”。逻辑判断
RA(转载于:wWw.xLTkwj.cOM 小龙文档网:excel表

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。