資源描述:
《如何在excel單元格里提取字符并求和》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、在A1單元格里數(shù)組為1+10-20在B1單元格里數(shù)組為-2+55-122;請問如何把A1和B1單格里正負數(shù)各自提取求和,如這樣,提取A1單元與B1的數(shù)字,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&A1,A1)&IF(LEFT(B1,1)="-",B1,"
2、+"&B1),"+",","),"-",",-")&","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等復(fù)雜情況。如果你非得用一個函數(shù)實現(xiàn)(不用任何輔助單元格),需要用VB。補充回答:VB方法如下,在Excel里,同時按Alt和F11,進入VB界面,右鍵點左上窗口的Thisworkbook,插入,模塊,在右邊窗口粘貼如下代碼:FunctionSumP(Range1AsRang
3、e,Range2AsRange)AsLongDimi,jAsByteDimtmpAsStringSumP=0j=1tmp=IIf(Left(Range1,1)="-",Range1,""&Range1)&IIf(Left(Range2,1)="-",Range2,"+"&Range2)&""tmp=Replace(tmp,"-","-")tmp=Replace(tmp,"+","")Fori=1ToLen(tmp)-Len(Replace(tmp,"",""))-1IfCLng(Trim(Mid(Le
4、ft(tmp,InStr(j+1,tmp,"")-1),j+1,10)))>0ThenSumP=SumP+CLng(Trim(Mid(Left(tmp,InStr(j+1,tmp,"")-1),j+1,10)))j=InStr(j+1,tmp,"")NextiEndFunctionFunctionSumN(Range1AsRange,Range2AsRange)AsLongDimi,jAsByteDimtmpAsStringSumN=0j=1tmp=IIf(Left(Range1,1)="-",Ran
5、ge1,""&Range1)&IIf(Left(Range2,1)="-",Range2,"+"&Range2)&""tmp=Replace(tmp,"-","-")tmp=Replace(tmp,"+","")Fori=1ToLen(tmp)-Len(Replace(tmp,"",""))-1IfCLng(Trim(Mid(Left(tmp,InStr(j+1,tmp,"")-1),j+1,10)))<0ThenSumN=SumN+CLng(Trim(Mid(Left(tmp,InStr(j+1,t
6、mp,"")-1),j+1,10)))j=InStr(j+1,tmp,"")NextiEndFunction會到Excel里,在C1輸入=sump(a1,b1),在D1輸入=sumn(a1,b1)這兩個函數(shù)是通過VB自定義的。以上方法,全部經(jīng)過檢驗,滿足你的要求。公式是單個或多個函數(shù)的結(jié)合運用。AND“與”運算,返回邏輯值,僅當(dāng)有參數(shù)的結(jié)果均為邏輯“真(TRUE)”時返回邏輯“真(TRUE)”,反之返回邏輯“假(FALSE)”。條件判斷AVERAGE求出所有參數(shù)的算術(shù)平均值。數(shù)據(jù)計算COLUMN顯示所
7、引用單元格的列標號值。顯示位置CONCATENATE將多個字符文本或單元格中的數(shù)據(jù)連接在一起,顯示在一個單元格中。字符合并COUNTIF統(tǒng)計某個單元格區(qū)域中符合指定條件的單元格數(shù)目。條件統(tǒng)計DATE給出指定數(shù)值的日期。顯示日期DATEDIF計算返回兩個日期參數(shù)的差值。計算天數(shù)DAY計算參數(shù)中指定日期或引用單元格中的日期天數(shù)。計算天數(shù)DCOUNT返回數(shù)據(jù)庫或列表的列中滿足指定條件并且包含數(shù)字的單元格數(shù)目。條件統(tǒng)計FREQUENCY以一列垂直數(shù)組返回某個區(qū)域中數(shù)據(jù)的頻率分布。概率計算IF根據(jù)對指定條件的邏
8、輯判斷的真假結(jié)果,返回相對應(yīng)條件觸發(fā)的計算結(jié)果。條件計算INDEX返回列表或數(shù)組中的元素值,此元素由行序號和列序號的索引值進行確定。數(shù)據(jù)定位INT將數(shù)值向下取整為最接近的整數(shù)。數(shù)據(jù)計算ISERROR用于測試函數(shù)式返回的數(shù)值是否有錯。如果有錯,該函數(shù)返回TRUE,反之返回FALSE。邏輯判斷LEFT從一個文本字符串的第一個字符開始,截取指定數(shù)目的字符。截取數(shù)據(jù)LEN統(tǒng)計文本字符串中字符數(shù)目。字符統(tǒng)計MATCH返回在指定方式下與指定數(shù)值匹配的數(shù)組中元素的相應(yīng)