如何用EXCEL的VBA來實現根據條件篩選結果

時間 2021-10-17 05:07:02

1樓:陸不大

這個問題我也沒做過,臨時找了兩個函式,結合起來能解決,也許不是最好的辦法,但能解決總是好的,呵呵

做出的樣表如下

a b c d

1 姓名 班級 班級 班級

2 1222 2323 3434

3 姓名 班級 數學成績 語文成績

4 張三 1222 78 85

5 李四 2323 79 83

6 王五 1222 80 81

7 趙六 2323 81 79

8 陳七 1222 82 81

9 楊八 3434 83 82

1011 數學總成績 語文總成績 人數

12 1222 240 247 3

13 2323 160 162 2

14 3434 83 82 1

b2單元格 ="1222"

c2單元格 ="2323"

d2單元格 ="3434"

b12單元格 =dsum($b$3:$d$9,"數學成績",a$1:b$2)

c12單元格 =dsum($b$3:$d$9,"語文成績",b$1:b$2)

d12單元格 =countif($b$4:$b$9,1222) 用於統計表中1222班人數,本來可以直接用你們掌握的班級人數來除,但用這個函式可以防止無成績的人加入統計

b13單元格 =dsum($b$3:$d$9,"數學成績",c$1:c$2)

c13單元格 =dsum($b$3:$d$9,"語文成績",c$1:c$2)

d13單元格 =countif($b$4:$b$9,2323)

3434班按此類推

如果直接在b13單元格里計算1222班數學單科平均成績,把兩個單元格做除法就行,公式為:

=dsum($b$3:$d$9,"數學成績",a$1:b$2)/countif($b$4:$b$9,1222)

用函式做好母表,下次考試後需要統計時直接把成績複製進相應的資料區,結果自己就出來了

用aimpointer 的方法也可以

直接篩選班級名稱,然後選中篩選結果的"數學成績"或"語文成績"列,直接求和,但有兩個問題,第一是班級多了操作過多,第二是下次統計仍要這些操作.

2樓:匿名使用者

不用vba吧..可以試試使用vlookup函式教師 教室號 課程

張三 001 xx

李四 002 ***

這些資料放在下方..

在a1:輸入張三...在b1輸入001....在c1輸入函式...

完成任務..

3樓:太極健

是函式還是vba呀?

留個郵箱,我做個樣本給你,你也可以直接用這個檔案。

excel**用vba按照條件進行篩選, 100

4樓:

sub 篩選()

columns("f:i") = ""

dim i%

for i = 2 to range("a65536").end(xlup).row

if cells(2, 2) = "運輸中" and instr(cells(i, 3), "裸素魚竿") > 0 then

n = n + 1

cells(n + 1, "f") = cells(i, 1)cells(n + 1, "g") = cells(i, 2)cells(n + 1, "h") = cells(i, 3)cells(n + 1, "i") = cells(i, 4)end if

next

end sub

b列 訂單狀態名稱為 運輸中, 且 c列產品名稱資料包含了 裸素魚竿

都能篩選出來

結果從f列顯示

5樓:匿名使用者

試試下面這段**,根據需要修改

private sub worksheet_change(byval target as range)

if target.count > 1 then exit subif target.column = 3 thenif target.

value = range("e2") then range("e" & cells(rows.count, "e").end(3).

row).offset(1).value = target.

offset(0, -2).value

if target.value = range("f2") then range("f" & cells(rows.count, "f").

end(3).row).offset(1).

value = target.offset(0, -2).value

end if

end sub

6樓:

我會寫,檔案呢。有檔案才好測試

excel裡用vba來解決條件滿足的資料篩選處理

7樓:郎俏斂天巧

親,\\「資料的呼叫」這句話不太專業哦~~~看不懂\r\n您能說明具體要求麼,比方說從sheet2的哪一列,按什麼條件取什麼資料,放在sheet1的哪一列。要配上帶行列標的截圖。

8樓:

先設定好自動篩選,再進行工作表保護就行了 ,當然也要在使用自動篩選上打勾

9樓:匿名使用者

能再把你的問題描述清楚點嗎?

看起來很簡單的嘛,你的公式搞得那麼複雜,

你就是要統計某兩行之間的某列內的各數字的個數對嗎?

在excel表中如何使用vba程式自動篩選出符合條件的資料並刪除

10樓:匿名使用者

一般採用倒序的方式:例如,將d列中為「否」的整行刪除:

sub test()

for i = cells(rows.count, 4).end(xltoup).row to 1

if range("d" & i) = "否" thenrange("d" & i).entirerow.deleteend if

next

end sub

11樓:匿名使用者

假定你刪選的條件是單元格資料》10

sub test()

set a=thisworkbook.sheets("sheet1")

dim mycell as range

for each mycell in a.usedrangeif mycell>10 then

mycell.clear

end if

next

end sub

excel如何用vba實現多條件查詢資料?

excel vba 多條件自動篩選,或怎麼表示

12樓:

方法:1.製作資料表和查詢條件表,查詢條件表的「*」是萬用字元;

2.資料——篩選——高階篩選;

3.按查詢條件編輯高階查詢對話方塊;

4.檢驗查詢結果。

13樓:零點零依

activesheet.listobjects("table1").range.autofilter field:=8, operator:= _

xlfiltervalues, criteria1:=">=" & format(sheet2.range("d3"), "m/d/yyyy") _

, operator:=xland, criteria2:="<=" & format(sheet2.range("d1"), "m/d/yyyy")

====

我的是源資料在sheet1裡面,篩選的時候條件在sheet2的d3和d1單元格;我是篩選指定日內期區間的資料若要容

14樓:匿名使用者

錄製........................................

15樓:平陽虎

if 條件1 and 條件2 and 條件3 then 結果

16樓:匿名使用者

if 條件1 or 條件2 or 條件3 then 結果

Excel如何用VBA實現表資料格式轉換

這個實現起來不難,主要是程式的控制,試試下面的 sub zz dim ar,a b n t a array 3,7,11 b array 6,10,15 ar sheets 1 a1 currentregion.value redim c 1 to ubound ar 1 ubound b 2 1 ...

如何在excel中用巨集(VBA)實現VLOOKUP的功能

慶年工坊 function myvlookup val,rg as range,n as integer,f as boolean arr rg if f then for i ubound arr to 1 step 1if val arr i,1 thenmyvlookup arr i,n en...

請問如何用excel的VBA做出,從1 20中任取數的所有組合,總共是125970種,求高手支招,萬謝

如果你只是需要結果的話,可以用函式 combin 20,8 直接求的結果,如果真是要用vba實現的話按照 tat蘿蔔說的做就行了,完善如下 sub zuhe dim times as double for i1 1 to 13 for i2 i1 1 to 14for i3 i2 1 to 15fo...