Giúp phân biệt DCount và CountIf, DSum và SumIf (1 người xem)

Người dùng đang xem chủ đề này

nguyentosonzzzz

Thành viên mới
Tham gia
25/1/10
Bài viết
3
Được thích
0
Hi mọi người,

Mình vừa mới học Excel được mấy ngày, cũng thấy dễ hiểu, toàn có kích chuột mà thôi.

Nhưng trong thời gian học mình gặp một số vấn đề không biết phải giải quyết thế nào, vào diễn đàn này với mong muốn được các bạn giải đáp:

1. Mình có một cột gồm nhiều số. Vấn đề gặp phải của mình là: Làm thế nào để đếm được số lượng các phần tử lớn hơn 2 nhưng nhỏ hơn 8 trong cột này.

Mình đã cố gắng sử dụng hàm CountIf hoặc DCount nhưng không được.

2. Phải chăng hàm CountIf có thể thay thế hoàn toàn DCount. Mình thấy hàm DCount về mục đích thực hiện cũng có khác gì hàm CountIf đâu nhỉ????

3. Giả sử có một bảng gồm: Họ tên, Chức vụ, Tiền lương của một cơ quan. Trong trường hợp cần lọc danh sách sử dụng Advanced Filter, có cách nào để lọc ra danh sách những người có chức vụ là giám đốc hoặc trưởng phòng vào đúng một bảng không nhỉ.

Cảm ơn các bạn, quả thực Excel là một công cụ hữu hiệu để thống kê dữ liệu.
 
Hi mọi người,

Mình vừa mới học Excel được mấy ngày, cũng thấy dễ hiểu, toàn có kích chuột mà thôi.

Nhưng trong thời gian học mình gặp một số vấn đề không biết phải giải quyết thế nào, vào diễn đàn này với mong muốn được các bạn giải đáp:

1. Mình có một cột gồm nhiều số. Vấn đề gặp phải của mình là: Làm thế nào để đếm được số lượng các phần tử lớn hơn 2 nhưng nhỏ hơn 8 trong cột này.

Mình đã cố gắng sử dụng hàm CountIf hoặc DCount nhưng không được.

2. Phải chăng hàm CountIf có thể thay thế hoàn toàn DCount. Mình thấy hàm DCount về mục đích thực hiện cũng có khác gì hàm CountIf đâu nhỉ????

.
+ Mình trả lời cho bạn câu 1:
Giả sử mình có dữ liệu như file đính kèm. Mình Sử dụng hai cách để đếm cho bạn
a/ dùng COUNTIF
=COUNTIF($A$1:$A$13,">2")-COUNTIF($A$1:$A$13,">=8")
b/ dùng COUNTIFS
=COUNTIFS($A$1:$A$13,">2",$A$1:$A$13,"<8")
+ Câu 2 :
Hàm DCount là hàm CSDL vì vậy khi đếm nó phải tham chiếu đến CSDL của nó.
hay mình phải lập riêng cho nó một CSDL để tham chiếu đến
+ Câu 3 : Bạn gửi lên một file ví dụ để mọi người giúp bạn. Như vậy dễ hơn.
 
Lần chỉnh sửa cuối:
Ui, cảm ơn bạn Khoa nhiều lắm :D

Các bạn biết đấy, những người làm về công nghệ thông tin hay bất cứ nghề nghiệp nào cũng vậy luôn có nhu cầu tổng quát hóa, khái quát hóa một vấn đề. Đó cũng là mục tiêu cần đạt tới. Vậy mong Khoa và các bạn giúp mình "hơn một" chút nữa nhé. :D

1. Đếm số người

Mã:
i. Đếm số nhân viên là nam và có tiền lương > 1.000.000

Hoặc:

ii. Đếm số nhân viên là nam hoặc (OR) có tiền lương > 1.000.000

2. Mình đã xem qua cấu trúc của SumIf và DSum:

Mã:
SumIf(range, criteriam [sum_range])
DSum(database, field, criteria)

Mình không hiểu khái niệm tham chiếu tới database trong DSum khác với range trong SumIf ở điểm nào. Mong được trợ giúp của mọi người.

3. Hàm CountIfs hình như chỉ có trong Excel 2007 trở nên thôi các bạn nhỉ. Mình vẫn còn cài Excel 2003 nên không thấy hàm này.

4. Ví dụ như hàm DSum(database, field, criteria) với 3 tham số. Ta có thể dùng Ctrl để nhẫn giữ chọn từng tham số một thay cho cứ phải tìm để gõ dấu phẩy "," để ngăn cách từng tham số trong công thức cần gõ ra nhỉ??????

Cảm ơn mọi người rất nhiều.
 
Lần chỉnh sửa cuối:
Mình mới học Excel
Nhưng trong thời gian học mình gặp một số vấn đề không biết phải giải quyết thế nào, vào diễn đàn này với mong muốn được các bạn giải đáp:
1. Mình có một cột gồm nhiều số. Vấn đề gặp phải của mình là: Làm thế nào để đếm được số lượng các phần tử lớn hơn 2 nhưng nhỏ hơn 8 trong cột này.
Mình đã cố gắng sử dụng hàm CountIf hoặc DCount nhưng không được.

2. Phải chăng hàm CountIf có thể thay thế hoàn toàn DCount. Mình thấy hàm DCount về mục đích thực hiện cũng có khác gì hàm CountIf đâu nhỉ????

3. Giả sử có một bảng gồm: Họ tên, Chức vụ, Tiền lương của một cơ quan. Trong trường hợp cần lọc danh sách sử dụng Advanced Filter, có cách nào để lọc ra danh sách những người có chức vụ là giám đốc hoặc trưởng phòng vào đúng một bảng không nhỉ.
(1) Hàm DCOUNT(), hay cùng họ với nó là DSUM(),. . . là hàm CSDL; Có nghĩa là người ta viết các hàm này để đáp ứng cho việc xử lý dữ liệu trong các CSDL;
Nó rất tốt khi giải bài toán (3) của bạn, ngoài cách mà bạn nêu (đó là AdvancedFilter)
Vì bạn có chỉ là 1 cột dữ liệu thì xài COUNTIF() là thỏa sức tang bồng rồi; Vì sao nói vậy, vì để xài DCOUNT() bạn phải lập vùng chuẩn; Cái này đem đến nhiều phiền phức cho rất nhiều người, kể cả các cao thủ võ lâm; Bỡi vậy 1 số người thà dùng SUMPRODUCT(), tuy biết rằng cái cuối cùng này làm rất ì ạch so với những cái trên;
Qua đó bạn thấy: Nếu dữ liệu đơn giản, ta nên hướng tới SUMIF() hay COUNTIF()
Nếu CSDL nhỏ (dưới 100 dòng) cũng có thể xài SUMPRODUCT() nếu có năng lực; Còn lại nên hoặc phải xài DSUM() hay DCOUNT() nếu không muốn bị đứng mày tính giữa đàng.
(Việc này dễ dẫn đến làm ta lúng túng & có ~ hành vi không tự kiểm soát được,. . . .)

(2) Không bao giờ COUNTIF() thay thế hoàn toàn DCOUNT(); Bạn đừng nên nghĩ rằng tập đoàm Microsoft ngu hơn chúng ta trong những chuyện như vậy!

(3) Theo mình, giữa AdvancedFilter & các hàm CSDL có cái gì đó cùng họ hàng xa với nhau; Nhưng dùng chúng lúc nào thì phải tùy thuộc vào trường hợp cụ thể.
Cùng là dao, nhưng dao chẽ củi không thể cạo râu được; Chỉ có thẻ tạm dùng nó cho việc băm bèo!

Excel còn nhiều điều thú vị lắm bạn à; Mình dám cá với bạn rằng chưa có quyễn sách nào viết hết, viết đủ về excel đâu!

Chúc bạn gặt hái nhiều chiến quả trên bước đường chinh fục êxcel!
 
Mình đã thử tìm trả lời của những câu hỏi trên, nhưng kết quả là rút ra một điều:
(Cơ sở của nó là các công thức toán học)

1. Muốn tính số các thành phần thỏa mãn điều kiện A và cũng thỏa mãn điều kiện B.

A and B = A\(not B)

2. Muốn tính số các thành phần thỏa mãn điều kiện A hoặc thỏa mãn điều kiện B.

|A or B| = |A| + |B| - |A and B|

3. Có lẽ không có cách nào để đưa ra các nhân viên là giám đốc hoặc trưởng phòng vào đúng một bảng sử dụng Advance Filter

4. Học Excel mức cơ chủ yếu xoay quanh các hàm: sum, rank, round, if, and, or, left, right, sumif, countif, dsum, dcount, vlookup, hlookup, product, sumproduct mà thôi

5. Để chọn các thuộc tính trong hàm nhanh chóng sử dụng thêm Ctrl

6. Excel không đến mức quá khó so với việc lập trình Java, C# bởi nó được Microsoft thiết kế thân thiện cho người dùng văn phòng

Đây chính là những kiến thức mình đúc rút được. Hi vọng nó đúng. Cảm ơn mọi người
 
Mình đã thử tìm trả lời của những câu hỏi trên, nhưng kết quả là rút ra một điều:
(Cơ sở của nó là các công thức toán học)

1. Muốn tính số các thành phần thỏa mãn điều kiện A và cũng thỏa mãn điều kiện B.

A and B = A\(not B)

2. Muốn tính số các thành phần thỏa mãn điều kiện A hoặc thỏa mãn điều kiện B.

|A or B| = |A| + |B| - |A and B|

3. Có lẽ không có cách nào để đưa ra các nhân viên là giám đốc hoặc trưởng phòng vào đúng một bảng sử dụng Advance Filter

4. Học Excel mức cơ chủ yếu xoay quanh các hàm: sum, rank, round, if, and, or, left, right, sumif, countif, dsum, dcount, vlookup, hlookup, product, sumproduct mà thôi

5. Để chọn các thuộc tính trong hàm nhanh chóng sử dụng thêm Ctrl

6. Excel không đến mức quá khó so với việc lập trình Java, C# bởi nó được Microsoft thiết kế thân thiện cho người dùng văn phòng

Đây chính là những kiến thức mình đúc rút được. Hi vọng nó đúng. Cảm ơn mọi người
Đọc bài viết của bạn, mình xin có 1 vài ngu kiến để giái đáp thắc mắc của bạn cũng như đưa lên đây bình luận chung:
1/Advance Filter không phải xài để trích ra bảng khác mà nó chỉ có tác dụng cho bạn trong việc sắp xếp, trích lọc dữ liệu trên cùng 1 vùng cơ sở dữ liệu. Do vậy bạn không nên đưa nó ra so sánh với hàm Dsum, dcount.
2/ Excel với toán học tất nhiên có điểm tương đồng, vì nó thuộc "dạng logic" cả.
3/ Chủ yếu nếu như bạn xoay đi xoay lại các hàm đó thì tương đương bạn mới học xong lớp 2 thuộc cấp tiểu học của excel. Excel nó không chỉ như thế thôi đâu. Riêng số hàm cần nắm đã hơn thế gấp 4,5 lần. Chưa kể nếu bạn đi sâu vào từng chuyên ngành khác nhau thì hàm bạn xài cũng khác. Rồi còn cả hàm mảng, rồi cao hơn có vba cho từng trường hợp cụ thể.
4/ Bạn không nên so sánh Java hay C với excel vì như bạn nói, Excel viết ra cho ng ta "Dùng" chứ không phải cho người ta "sáng tạo". 1 bên là công cụ để sáng tạo ra sản phẩm còn 1 bên là sản phẩm. Nên so sánh chúng nó thật là khập khiễng. Kể cả vba trong excel thì cũng chỉ là mảng nông so với lập trình.
---------
Giờ mình giải đáp giúp bạn câu hỏi của bạn ở đây:
i. Đếm số nhân viên là nam và có tiền lương > 1.000.000
Hoặc:
ii. Đếm số nhân viên là nam hoặc (OR) có tiền lương > 1.000.000i.
Bạn xài hàm: sum trong hàm mảng với 2 điều kiện là "nam" và ">1tr". Như vầy:
Sum((cột GT="Nam")*(Cột lương>100000)) (Kết thúc hàm bằng phím ctrl+shift+enter).
ii. tương tự câu trên nhưng giao 2 điều kiện bằng dấu +, ko phải dấu * là được.
Sum((CộtGT="Nam")+(Cột lương>100000)) (Kết thúc hàm bằng phím ctrl+shift+enter).

- Bạn nên hiểu database khác với range ở chỗ database nó là 1 vùng có đầy đủ từ cột tiêu đề, cột số tt.. Còn range là 1 vùng bất kỳ, có thể có hoặc không có các yếu tố kia vẫn được.
 
Lần chỉnh sửa cuối:

Bài viết mới nhất

Back
Top Bottom