求excel公式一列數字裡有正數和負數我想要這一列連續出現正數最多的數目和他們的和負數也是一樣

2022-08-11 21:12:24 字數 4501 閱讀 1097

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列除...