1樓:匿名使用者
給你做了一段巨集命令,**如下,拷進去試一下,在執行前,做好備份並確保欲計算的**處於活動狀態:
sub jiance()
dim sumz as double
dim sumf as double
dim k as single
dim kzmax as single
dim kfmax as single
dim kz as single
dim kf as single
dim sumzend as single
dim sumfend as single
k = 2
do while activesheet.cells(k - 1, 1) <> ""
if val(activesheet.cells(k - 1, 1)) > 0 then
sumz = sumz + val(activesheet.cells(k - 1, 1))
kz = kz + 1
elseif val(activesheet.cells(k - 1, 1)) < 0 then
sumf = sumf + val(activesheet.cells(k - 1, 1))
kf = kf + 1
end if
if val(activesheet.cells(k - 1, 1)) * val(activesheet.cells(k, 1)) <= 0 then
if kz > kzmax then
kzmax = kz
sumzend = sumz
else
kz = 0
sumz = 0
end if
if kf > kfmax then
kfmax = kf
sumfend = sumf
else
kf = 0
sumf = 0
end if
end if
k = k + 1
loop
activesheet.cells(14, 2) = "連續正數個數"
activesheet.cells(14, 3) = "連續正數合"
activesheet.cells(14, 4) = "連續負數個數"
activesheet.cells(14, 5) = "連續負數合"
activesheet.cells(15, 2) = kzmax
activesheet.cells(15, 3) = sumzend
activesheet.cells(15, 4) = kfmax
activesheet.cells(15, 5) = sumfend
end sub
以上**比較囉嗦,沒想出更好的辦法,期待高手有更好的辦法。最後結果放在第14、15行中的第2到第五列中,通過調整**,可以調整位置。如果有要求,也可以對出現頻次高的位置進行高亮顯示,需要加入相關**,當然也可以通過增加**對任意列進行類似運算,該段命令運算截至是以最末一行出現的空單元格為標誌的,請確保最後一行為空單元格,或修改相關**避免此類問題出現。
另外,此**未解決相同頻率的數值的選擇問題,不知道你準備如何取捨,還是都要求顯現出來。
2樓:好鬼憎註冊名字
最多連續出現負數個數=max(frequency(if(a1:a14<0,row(a:a)),if(a1:a14<0,,row(a1:a14))))
最多連續出現正數個數=max(frequency(if(a1:a14>0,row(a1:a14)),if(a1:a14>0,,row(a1:a14))))
陣列公式,均以ctrl+shift+enter結束求和未想到,等高人出現
3樓:丶
庫房機會,狗流感儘快吧
關於excel的問題,統計一列單元格中連續出現正數或負數最多的次數以及求和
4樓:匿名使用者
這個用vba可以實現。
需要的話可以將檔案發我郵箱。3030490161@qq。com
excel如何計算一列有中多少正數和負數
5樓:slai_楓
用countif函式
假設資料在a列,正數個數:=countif(a:a,">0");負數個數:=countif(a:a,"<0")示例:
6樓:匿名使用者
b1="正數是"&countif(a1:a15,">0")
c1="負數是"&countif(a1:a15,"<0")
7樓:匿名使用者
在b列中輸入公式=if(a>0,1),那麼b列的合計數就是正數的個數,同理在c列中輸入專=if(a<0,1),c列的合屬計數就是負數的個數,注意,公式中的a不是直接用手輸入,而是用滑鼠點選a列,以便在b列往下拉的時候,a的數值跟著變。
答題完畢,祝你開心!
回答補充:
假如資料在a1到a9中, 結果顯示在a10, 那麼你在a10當中輸入公式
=countif(a1:a9,">0")
就會顯示正數個數。而輸入
=countif(a1:a9,"<0")
就是顯示負數個數。
前者是統計範圍, 後者是判斷條件, 可以根據自己需要進行修改。
提醒:選單「插入」-->「函式」裡面有很多的函式。
8樓:匿名使用者
b1 =countif(a1:a15,">0")
c1 =countif(a1:a15,"<0")
開啟xls,查詢幫助countif
excel一列包含正負數字以及空格的數字,如何求出分段連續正數以及負數的累計值?
9樓:沈一民
暫時沒想到直接的辦法,加一個輔助列:
b2=if(a2="",b1,if(a2>0,1,0))c2=if(or(and(b2=0,b3=0),and(b2>0,b3>0)),"",sum(a$2:a2)-sum(c$1:c1))
公式向下複製到紅色單元格(只能複製到a列最後一個非空單元格所在的行)
10樓:匿名使用者
複雜的問題不是可以用一個公式能解決的,就要用vba處理,我寫個程式,你執行試試:
sub 分正負累加()
lastrow = cells(rows.count, 1).end(3).row
i = 2
s = 0
c = cells(i, 1)
do while i <= lastrowif cells(i + 1, 1) <> "" thenif c * cells(i + 1, 1) < 0 thens = s + cells(i, 1)
cells(i, 2) = s
s = 0
c = cells(i + 1, 1)
else
s = s + cells(i, 1)
end if
else
if cells(i, 1) <> "" thens = s + cells(i, 1)
end if
end if
i = i + 1
loop
i = i - 1
cells(i, 2) = s
end sub
求設定excel函式公式:一列**中有正數和負數,要求正負相加不相抵的合計
11樓:匿名使用者
可以先把所有的負數變為正數再計算,然後再恢復吧。
負數變正數的格式如下
[<0]0;[>0]0;g/通用格式
12樓:匿名使用者
如:a1=-1-1-1-1-1(文字格式)b1=-5(就是a1的和值)
先將游標定位在b1
插入-名稱-定義,在名稱後輸入js
然後在引用位置輸入:
=evaluate(a1)
確定,退出
然後在b1輸入=js
13樓:匿名使用者
=sumproduct(abs(c8:c9)),其中c8:c9是資料範圍
excel 在一列數中有正數有負數,如何用公式查處第一個負數出現的行號
14樓:匿名使用者
第一個負數:
<0,row($a$1:$a$20))))
行號=min(if($a$1:$a$20<0,row($a$1:$a$20)))
都是陣列公式,按ctrl+shift+enter輸入。
15樓:匿名使用者
樓上太複雜了!
假若這一列資料在a列,並從a5開始,在a5單元格右邊一個單元格(比如c5),填入=if(a5>=0,"",row()),下拉即可,凡是負數的就顯示行號了。
excel計算另一列帶等號的公式
猜想題主的問題是 a列輸入的excel的公式,得到了公式的計算結果,希望在b列中顯示a列的公式。如果excel版本是2013或更高的版本,則可直接用函式formulatext得到單元格中的公式內容,如截圖中的c列 c2 formulatext a2 而如果excel的版本低於2013,則可用巨集表函...
怎麼在EXCEL裡輸入公式後在另一列中自動計算出結果
材料 工具 excel2003 1 開啟excel2003版本,然後在上面輸入資料,我們為了看來方便,分別在b2 b3 b4中輸入1 2 5,然後在c2中輸入要乘以的常數2,我們得到的是 讓原有資料的b列乘以常數2後的結果顯示在d列。2 此時,我們在d列的第二行輸入公式 b2 c 2,然後按鍵盤上回...
excel中,一列是計算公式,怎麼在其他列自動計算結果
在選單欄選擇 插入 名稱 定義 在當前工作簿的名稱 的框內輸入 xyz 這個名稱由你自己定 在引用位置框內輸入 evaluate sheet1 a4 確定,在引用位 evaluate sheet1 a4 確定在c4單元格輸入 xyz,回車後看資料即可。excel公式整列自動計算的辦法 方法一 g列除...