在Excel VBA中,如何實現年齡一列的統計。比如,20 25歲 26 30歲的人數

2022-07-16 01:21:51 字數 3863 閱讀 3256

1樓:太極健

既然是問vba中實現,那麼就講vba的事瞭如你的年齡一列在f列,那麼用迴圈直接計算出結果for x=2 to 100

if cells(x,6)<20 thenrange("h2")=range("h2")+1elseif cells(x,6)<26 thenrange("h3")=range("h3")+1elseif cells(x,6)<30 thenrange("h4")=range("h4")+1else

range("h5")=range("h5")+1next x

這樣h2到h5分別是20以下人數,20到25人數,26到30人數,30以上人數

2樓:萬年金剛鑽

直接用countif函式不行嗎?

這樣吧,你的vba實現了,函式一樣可以,多給你個思路:

=(row()+1)*5+1&"~"&(row()+2)*5&"共"&sumproduct(if(b$2:b$100>=((row()+1)*5+1),1,0))-sumproduct(if(b$2:b$100>((row()+2)*5),1,0))&"人"

陣列公式

請教高手,怎麼統計excel人員資訊表中男性,年齡在25歲至35歲之間的人數?

3樓:匿名使用者

d1輸入公式

=sumproduct((b2:b8="男")*(c2:c8>=25)*(c2:c8<=35))

如果實際行數多的話,就將8改為實際行數

4樓:匿名使用者

就按你的例子,

在a9輸入:合計

回車,b9輸入:男

回車,c9輸入:=count(if(($b$2:$b$8=b9)*($c$2:$c$8>=25)*($c$2:$c$8<=35),$c$2:$c$8)

按ctrl+shift+enter結束編輯c9就是你要的值

5樓:匿名使用者

求人數,與乘積之和不相干,還是用這個吧:

=countifs(b2:b8,"=男",c2:c8,">=25",c2:c8,"<=35")

6樓:匿名使用者

=sumproduct((b2:b8="男")*(c2:c8>=25)*(c2:c8<=35))

excel如何用vba實現一列滿足多個條件的迴圈計數程式?比如:c列有很多資料,在b列的b1求出滿

7樓:一支穿雲箭

大於小於是和誰做比較 最好截個圖來 說清楚意圖

8樓:零點情人

問一下,是要從b1到b2到b3直到bn, 都要設定嗎?

在excel表中,如何使用vba編碼,將一列的值進行清空

9樓:匿名使用者

清空列:

sheets(表名稱).columns(輔助列的數值).clear如表名稱:tab1 輔助列在d列

sheets(「tab1」).columns(4).clear剩下的就是建立兩個變數陣列 然後賦值輸出到輔助列的簡單問題了。

10樓:匿名使用者

假設a1是設定了資料有效性的單元格,輔助列在g列,要把a1的值放在g1可用下面**: private sub worksheet_change(byval target as range)

if target.column = 1 then [g1] = [a1] '裡面加粗的1表示第一列即a列,指設定了有效性的所在列

end sub

在當前工作表名稱處點右鍵,檢視**,然後貼上上面**就ok了。只要a1的值改變g1就會跟著改變,如有問題請追問。

11樓:**小六

range("g1:g10").select

selection.clearcontents

12樓:姓王的

這個比較簡單,但你的表述不是很清楚,我理解的話就用不著vba了。能不能舉例描述?

請問excel vba中,如何設定單元格列寬?

13樓:匿名使用者

對於這個問題,你可以有一下解決辦法:

①利用單元格range的屬性entirecolumn

如:更改sheet2上a列單元格的列寬為50

sheet2.range("a1").entirecolumn.columnwidth = 50

→ →上面這句話也可以用下面這句話代替

sheet2.range("a1").columnwidth = 50

→ →當然也可以用下面這句話代替

sheet2.columns("a:a").columnwidth =50

②可以更改工作表中所有單元格的列寬,利用cells的屬性cloumnwidth

sheet2.cells.columnwidth = 50

:用以上方式也可以設定行高,rowheight屬性,方法相同;

希望能幫到你,謝謝!

14樓:匿名使用者

錄製個巨集,再修改數值最簡單。

15樓:

columns("a:a").columnwidth = 18.88

16樓:匿名使用者

with activecell

.rowheight = 35

.columnwidth = 35

end with

在excel中如何計算文字表示式,形如6+8*7-9,如何設定公式解決該問題。最好用vba自定義函式回答。

17樓:匿名使用者

不用vba。假設你想在有算式的單元格的右邊一格顯示結果,方法如下:

選中單元格b1,同時按ctrl和f3鍵進入名稱編輯器,新建,名稱處輸入比如 abc,下面引用位置處輸入

=evaluate(a1)

確定。然後在任意有算式的單元格的右邊一格輸入=abc

即可。公式可複製到其他地方。

18樓:匿名使用者

sub a()

cells(1, 1) = "=6+8*7-9"

end sub是這個意思麼

19樓:匿名使用者

單元格賦值 "6" "+" "8" "*" "7" "-" "9"

如何在vba中應用excel的函式,如vlookup()?

20樓:

出現這個問題就是在hr表的a列中沒有找到cells(5,2)匹配的值。可以採用如下方法來實現:

set rng=sheets("hr").[a:a].find([b2].text,,,1)

if not rng is nothing then [b1]=rng.offset(,3)

21樓:匿名使用者

當vlookup找不到匹配的結果,就會返回錯誤值#n/a,這個錯誤值使vba報錯。

為了避免找不到而報錯,可以使用以下錯誤捕獲

當然,你使用find方法也可以,方法不唯一,就看你習慣用哪個。

22樓:***

查詢引用不應該用vba,如果非要用vba就用字典法。

vlookup應該用定義公式的方法比較妥當。

23樓:匿名使用者

我複製你的**式了一下,沒問題啊

這個提示就是沒找到的意思,和單元格里的#n/a是一個意思**本身沒有錯,就是沒找到而已

你用一個肯定能找到的再試試

在Idea中,如何實現現在eclipse中,ctrl 左鍵的

idea ctrl alt 滑鼠左鍵點方法,或者游標在方法上按ctrl alt b。eclipse 選中方法後按ctrl t 再選擇要開啟的方法,或者按住ctrl將滑鼠移到方法上先不點,會出現選單,選open implementation。發現很多人來這個問題查eclipse的用法,除了回答樓主的問...

excel vba問題提取表一中資料然後在sheet1中

請選中你的目標單元格,然後在vba 中的選擇worksheet,右邊的事件觸發選 selectionchange 生成函式 private sub worksheet selectionchange byval target as range end sub 把你的 複製到這個函式當中。ok pri...

EXCEL,VBA中如何獲取合併單元格的值

1 開啟一個excel的檔案,在 中輸入簡單的 比如學生成績 2 回 接著,滑鼠左鍵單擊 開答發工具 選單標籤,在vba控制元件下拉選單中,並選擇按鈕控制元件。3 然後,在 中繪製出按鈕控制元件,並修改控制元件名稱。4 接著,滑鼠左鍵單擊 檢視 按鈕。5 然後,在 視窗中輸入vba語句,比如輸入定義...