Tính tổng trong dãy các ô chữ (hoặc ô màu)?

  • Thread starter kale
  • Ngày gửi
K

kale

Guest
15/9/05
12
0
0
43
HN
Xin chào các bác,
Em lại xin được các bác chỉ giáo cho thêm vài đường về Exel với tình huống như sau:
Sau khi em đã gán xong các ô bằng màu (Thắng= Đỏ, Hòa= Vàng, Thua= Xám) rồi, các ô này nằm theo dãy hàng ngang, giờ em muốn thông kê trong dãy đó có bao nhiêu ô Thắng, bao nhiêu ô Hòa & bao nhiêu ô Thua thì làm như thế nào (vì toàn bằng chữ & màu, trong khi muốn tính được phải ở dạng số!). Em cũng không biết Exel có thể tính được không nhưng cứ mạnh dạn hỏi các bác!

To Admin: bác làm ơn cho hỏi em muốn gửi kèm files làm VD theo bài viết của em nhưng ko thấy fải add files ở chỗ nào, bác làm ơn chỉ giùm em với vì em sẽ còn gửi bài nhiều nhiều!

Thanksss tất cả các bác! :1luvu:
 
Khóa học Quản trị dòng tiền
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Bạn có thể dùng hàm COUNTIF để tính, rất dễ. Countif thì chẳng liên quan gì đến màu mè cả.
Thí dụ trên dòng thứ 2, từ cột B đến cột N tôi có các chữ THANG, THUA, HOA
Muốn đếm chữ THANG, ở ô A2 nhập công thức:

=COUNTIF(B2:N2,"THANG")

Bạn nên tìm hiểu thêm ví dụ về COUNTIF qua Help của Excel, sách về Excel căn bản.

Thân!
 
K

kale

Guest
15/9/05
12
0
0
43
HN
:dzo: , cám ơn bác adam_tran, em xử lý được rồi!
Thực ra thì em đã xem sách hướng dẫn chung về Exel trong đó có nói đến Hàm này, nhưng hồi đó đọc cũng ko để ý nhiều đến ứng dụng & cũng ko nhớ hết được nên...
Một lần nữa cám ơn bác!
 
D

duyennt

Trung cấp
14/7/05
94
0
6
Bình Dương
Để biết được có bao nhiêu bàn "thắng", "hòa", "thua" thì bạn dùng hàm Countif đó. Ví dụ: Cột A từ A1 đến A10 . tại A11 = Countif(A1:A10,"thắng") thế là xong. Nếu làm từng cột thì chỉ cần hàm Counta cũng ok luôn.
 
W

workman

Guest
22/7/05
372
2
0
51
Ho Chi Minh
SA_DQ nói:
Function DemMau (iMau as Integer, mRange as Range) as Byte
dim Dem As Integer: Dim rRange as Range
for Each rRange In mRange
if rRange.InTerior.ColorIndex = IMau then Dem = 1 + Dem
next rRange
DemMau=Dem
End Function
IMau =3 : Đếm màu Đỏ
IMau = 5 : - Xanh
IMau= 15 : - Xám
Đúng là chuyên gia màu có khác. Thế sao bác không phát triển cái ý tưởng làm cái "Trúc xanh" bằng màu (thay vì bằng hình ảnh) nhỉ.
 
K

kale

Guest
15/9/05
12
0
0
43
HN
SA_DQ nói:
Function DemMau (iMau as Integer, mRange as Range) as Byte
dim Dem As Integer: Dim rRange as Range
for Each rRange In mRange
if rRange.InTerior.ColorIndex = IMau then Dem = 1 + Dem
next rRange
DemMau=Dem
End Function
IMau =3 : Đếm màu Đỏ
IMau = 5 : - Xanh
IMau= 15 : - Xám

Sorry, Em ko hiểu ý bác? Hay sử dụng tiếng Việt & Hướng dẫn từng bước được không ạ? Thanksssss
 
W

workman

Guest
22/7/05
372
2
0
51
Ho Chi Minh
Ấy là bác SA DQ cho chúng ta cái hàm để đếm các ô cùng màu đấy mà.

Bạn chép đoạn mã trên vào trong Excel VBA của bạn rồi sử dụng như các hàm Excel khác.

Cách làm cụ thể: bạn bấm tổ hợp phím Alt+F11. Chọn Insert Module, rồi paste cái đoạn mã của bác SA DQ vào.

Quay trở lại Excel. Tôi giả sử các ô tô màu của bạn là A1:B10.

Tại ô C1, nếu bạn muốn đếm màu đỏ trong vùng A1:B10, bạn gõ vào DemMau(3,A1:B10).

Ủa, mà tôi nói vậy có đúng ý bác SA DQ không nhỉ?
 
L

Longlv

Sơ cấp
21/10/05
44
1
8
46
Hanoi
Các bác à em vừa copy hàm đếm màu của bác SA_DQ về dùng thử và thấy nó hoạt động rất tốt, nhưng em có một thắc mắc nhỏ các bác giải đáp giúp với :

- Khi em chọn các ô tô màu trong vùng từ A1:B10, và các ô có màu là A3, A7, B5 và ô công thức ở ô C1 là = Demmau(3, A1:B10) thì ô C1 sẽ cho kết quả là 3. Nhưng khi thêm một ô màu đỏ khác vào một ô bất kỳ vào khoảng trên (vd ô B8) thì ô C1 không tự nhảy thành 4 mà phải vào ô C1 ấn F2 rồi enter mới có kết quả là 4. Vậy có cách nào để ô C1 tự nhảy giá trị mới được không.

Cảm ơn các bác nhiều.

P/S : Các bác có thể chỉ dùm em bảng code màu lấy ở đâu không ạ.
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
Longlv nói:
P/S : Các bác có thể chỉ dùm em bảng code màu lấy ở đâu không ạ.
Muốn lấy Index của màu Chú mày tạo 1 Macro tô màu vô 1 ô bất kỳ sau đó ngó lại ~ gì mà Excel viết;
Cao cấp hơn tạo 1 Combobox chọn dãy từ 0-50 gán KQ vô 1 ô nào đó, mà nơi đó Macro lấy làm Index để tô màu cho 1 ô # được chỉ định! :atom:
 
L

Longlv

Sơ cấp
21/10/05
44
1
8
46
Hanoi
Cảm ơn Bác SA_DQ nhé. "Bây giờ thì em đã hiểu"
 
K

kevinalone

Guest
27/2/12
1
0
0
37
tp hcm
Ðề: Em xin hỏi về tính tổng trong dãy các ô chữ (hoặc ô màu)!

Mình đang mày mò về Excel, mình thấy hàm đếm màu của bạn SA_DQ rất hay, mình đã áp dụng nhưng cũng thắc mắc câu hỏi giống bạn Longlv. Nhưng vì còn gà về code VBA nên mình vẫn chưa hiễu và chưa làm được để làm sao khi một dãy cột đã được tô màu từ trước khi áp dụng hàm demmau(...) và khi thêm màu tự động cập nhật kết quả. Mem nào có thể chỉ giáo cho mình hiễu rõ hơn được không? thanks
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
Ðề: Em xin hỏi về tính tổng trong dãy các ô chữ (hoặc ô màu)!

. . .Mình đã áp dụng nhưng cũng thắc mắc câu hỏi giống bạn Longlv. Nhưng vì còn gà về code VBA nên mình vẫn chưa hiễu và chưa làm được để làm sao:
Khi một dãy cột đã được tô màu từ trước khi áp dụng hàm demmau(...) và khi thêm màu tự động cập nhật kết quả. Mem nào có thể chỉ giáo cho mình hiễu rõ hơn được không? thanks

Cho rằng vùng cần khảo sát (mà bạn gọi là dãy cột) đã tô màu từ trước, thì cách làm sẽ fải dài dòng hơn, nhưng không fải là không làm được. (Cách bạn chú í là đang nói đến E2003 đó nhe!)

Ta biết rằng trong E2003 ta có tất cả 56 màu (Các bạn xem thêm tại đây: http://www.giaiphapexcel.com/forum/showthread.php?344-56-Sắc-cầu-vòng-trong-excel sẽ rõ hơn)
& các bạn đọc từ những bài trong topic đó thì sẽ có thể tự rút ra kệt luận;
Ở đây mình chỉ nói tóm tắc, vầy:
Ta lầy vùng 56 ô & tô cho mỗi ô vùng này mỗi màu khác nhau;
Rồi tạo vòng lặp so ô đang khảo sát với 56 ô chuẩn; Khi trùng với ô màu nào ta thêm 1 vô biến của chỉ số màu đó (Tất nhiên 56 iến này cần được khai báo trước thì tốt hơn)

Chúc các bạn thành công với E2003

(Các bạn có E2007 trở lên khỏi quan tâm loạt bài này đâu nha!)
 

Xem nhiều

Webketoan Zalo OA