Có hàm nào đếm được theo điều kiện... ??? (4 người xem)

  • Thread starter Thread starter Blad01
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Các bạn chỉ giúp hàm nào có thể đếm được các giá trị là chữ (VD mình có một cột chứa cả chữ và số vậy mình muốn đếm xem có bao nhiêu dòng chứa chữ). Lưu ý: không đếm các ô rỗng.
Mình thấy hàm COUNTA gần đáp ứng được yêu cầu bài toán này nhưng khổ cái nó đếm cả ô có công thức nên kết quả không chính xác.
Mong các bạn giúp đỡ.
 
Vậy bạn thử dùng hàm COUNT xem!
Mã:
Đặt A là vùng đếm
=COUNT(A) cho ra số ô chứa số
=COUNTA(A)-Count(A) cho ra số ô chứa chữ.

Bạn đưa thêm ít dữ liệu nữa thì sẽ có thêm một số cách tương ứng nữa!
 
Lần chỉnh sửa cuối:
Các bạn chỉ giúp hàm nào có thể đếm được các giá trị là chữ (VD mình có một cột chứa cả chữ và số vậy mình muốn đếm xem có bao nhiêu dòng chứa chữ). Lưu ý: không đếm các ô rỗng.
Mình thấy hàm COUNTA gần đáp ứng được yêu cầu bài toán này nhưng khổ cái nó đếm cả ô có công thức nên kết quả không chính xác.
Mong các bạn giúp đỡ.

Dùng hàm XL thì nghĩ chưa ra. Bạn dùng code này để giải quyết nhanh công việc:

Mã:
Public Function DemKyTu(Rng As Range)
Dim cel, Cnt
Application.Volatile
Cnt = 0
For Each cel In Rng
If Not cel.HasFormula And Not IsNumeric(cel) Then Cnt = Cnt + 1
Next
DemKyTu = Cnt
End Function

Copy code vô Module1. Muốn đếm các ô có ký tự trong A1:A10 thì chĩ cần gõ công thức:

Mã:
=demkytu(A1:A)

Mến
 
Lần chỉnh sửa cuối:
Hàm Count ==> đếm số
Hàm Counta ==> đếm hết

Counta - Count ==> đếm cái gì không phải là số!

Thân


Ps: Các anh dùng code thì hơi nặng tay đấy ! --=0
Công thức này chỉ đúng khi cột đó chứa cả dữ liệu số và dữ liệu là chữ. Nhưng nếu với cột chỉ chứa dữ liệu là chữ không thì công thức này không dùng được. VD: Cột AR từ AR6:AR105 gồm các ô chứa dữ liệu chữ (không có dữ liệu số) và các ô chứa công thức. Vậy phải dùng công thức nào để đếm được các ô có chứa dữ liệu chữ (không đếm các ô có chứa công thức). Mình dùng các hàm như các bạn nêu trên thì không được.
Chỉ đếm các ô có chứa dữ liệu là chữ mà thôi.
Cảm ơn nhiều.
 
Lần chỉnh sửa cuối:
Công thức này chỉ đúng khi cột đó chứa cả dữ liệu số và dữ liệu là chữ. Nhưng nếu với cột chỉ chứa dữ liệu là chữ không thì công thức này không dùng được. VD: Cột AR từ AR6:AR105 gồm các ô chứa dữ liệu chữ (không có dữ liệu số) và các ô chứa công thức. Vậy phải dùng công thức nào để đếm được các ô có chứa dữ liệu chữ (không đếm các ô có chứa công thức). Mình dùng các hàm như các bạn nêu trên thì không được.
Chỉ đếm các ô có chứa dữ liệu là chữ mà thôi.
Cảm ơn nhiều.

Bạn dùng công thức mảng này:
{=SUM(IF(ISTEXT(AR6:AR105)=TRUE,1,0))}
Nếu một ô trong AR6:AR105 là chữ, thì IF() trả về 1, còn nếu không phải là chữ thì IF() trả về 0, sau đó hàm SUM() sẽ cộng hết mấy cái số 1 của IF() trả về. Vậy thôi.
 
Lần chỉnh sửa cuối:
Công thức này chỉ đúng khi cột đó chứa cả dữ liệu số và dữ liệu là chữ. Nhưng nếu với cột chỉ chứa dữ liệu là chữ không thì công thức này không dùng được. VD: Cột AR từ AR6:AR105 gồm các ô chứa dữ liệu chữ (không có dữ liệu số) và các ô chứa công thức. Vậy phải dùng công thức nào để đếm được các ô có chứa dữ liệu chữ (không đếm các ô có chứa công thức). Mình dùng các hàm như các bạn nêu trên thì không được.
Chỉ đếm các ô có chứa dữ liệu là chữ mà thôi.
Cảm ơn nhiều.

Cái này chắc hết cách, phải nhờ mấy bác VBA vậy
 
Bạn dùng công thức mảng này:
{=SUM(IF(ISTEXT(AR6:AR105)=TRUE,1,0))}
Nếu một ô trong AR6:AR105 là chữ, thì IF() trả về 1, còn nếu không phải là chữ (là số, là công thức, là chi chi đó...) thì IF() trả về 0, sau đó hàm SUM() sẽ cộng hết mấy cái số 1 của IF() trả về. Vậy thôi.
Không đúng bác ơi ! tôi đã thử nhưng nó cho kết quả = 100 trong khi đó chỉ có 4 ô có dữ liệu là chữ mà thôi, còn lại đều chứa công thức
 
Lúc đầu tôi cũng nghĩ cách mà bạn HYen7 đấy. Nhưng cách đó hơi giới hạn vì chỉ áp dụng khi đếm dọc trong một cột thôi.

Mến
 
Bạn thử cách này xem :
Chọn ô AS6, vào Insert\name..., chỗ Name gõ CT, chỗ refers to gõ : =Get.cell(48,AR6) ok
ra ngoài, tại ô AS6 gõ : =AND(ISTEXT(AR6),CT=FALSE), copy công thức cho các ô còn lại.
Tại ô AT6 gõ =countif(AS6:AS105,true) để đếm xem có bao nhiêu ô là text không chứa công thức
 
Lần chỉnh sửa cuối:
Nghe chừng bài toán này nan giải quá, tôi cứ nghĩ nó đơn giản thôi nhưng nó lại làm các bạn cũng phải đau đầu.
Tôi xin đưa file đính kèm nên đây để các bạn giúp đỡ:
Các bạn chú ý cột C chỉ số nữ, cột T là điểm TBm còn cột Z là tôi tìm ra những em học sinh là nữ. Vậy các bạn tính giúp số % nữ ở bảng THỐNG KÊ CHẤT LƯỢNG HỌC KÌ I.
Cảm ơn các bạn nhiều
Lưu ý: Không dùng VBA, chỉ dùng công thức có trong Excell 2003 mà thôi.
 
Lần chỉnh sửa cuối:
Công thức này chỉ đúng khi cột đó chứa cả dữ liệu số và dữ liệu là chữ. Nhưng nếu với cột chỉ chứa dữ liệu là chữ không thì công thức này không dùng được. VD: Cột AR từ AR6:AR105 gồm các ô chứa dữ liệu chữ (không có dữ liệu số) và các ô chứa công thức. Vậy phải dùng công thức nào để đếm được các ô có chứa dữ liệu chữ (không đếm các ô có chứa công thức). Mình dùng các hàm như các bạn nêu trên thì không được.
Chỉ đếm các ô có chứa dữ liệu là chữ mà thôi.

Nói cách khác là bạn muốn đếm xem ô nào không có công thức chứ gì? Vậy thì chỉ có dùng VBA hoặc hàm Macro4 như bạn hoangdanh282vn.
 
Nghe chừng bài toán này nan giải quá, tôi cứ nghĩ nó đơn giản thôi nhưng nó lại làm các bạn cũng phải đau đầu.
Tôi xin đưa file đính kèm nên đây để các bạn giúp đỡ:
Các bạn chú ý cột C chỉ số nữ, cột T là điểm TBm còn cột Z là tôi tìm ra những em học sinh là nữ. Vậy các bạn tính giúp số % nữ ở bảng THỐNG KÊ CHẤT LƯỢNG HỌC KÌ I.
Cảm ơn các bạn nhiều
Lưu ý: Không dùng VBA, chỉ dùng công thức có trong Excell 2003 mà thôi.

Nếu bạn hỏi ngay từ đầu vụ này thì rõ rồi.
bạn dùng Sumproduct nhé:
Mã:
Ô H113 bạn gõ vào:
Số học sinh nữ giỏi - Ô H113:
=SUMPRODUCT(--($C$6:$C$105="x"),--($Z$6:$Z$105="G"))

Số học sinh nữ khá:
=SUMPRODUCT(--($C$6:$C$105="x"),--($Z$6:$Z$105="K"))
.......
Tương tự với các xếp hạng khác.

Muốn tính % nữ giỏi thì lấy số nữ giỏi tìm được chia cho tổng số học sinh, tương tự với các xếp hạng khác. Vậy nhé bạn.

Vả lại bạn không cần cột Z để tính ra bảng xếp loại học lực cho nữ như vậy, mà cột Z phải dùng để tính ra học lực cho toàn bộ học sinh trong danh sách.

Bạn xem file đính kèm nhé!
 

File đính kèm

Lần chỉnh sửa cuối:
Nghe chừng bài toán này nan giải quá, tôi cứ nghĩ nó đơn giản thôi nhưng nó lại làm các bạn cũng phải đau đầu.
Tôi xin đưa file đính kèm nên đây để các bạn giúp đỡ:
Các bạn chú ý cột C chỉ số nữ, cột T là điểm TBm còn cột Z là tôi tìm ra những em học sinh là nữ. Vậy các bạn tính giúp số % nữ ở bảng THỐNG KÊ CHẤT LƯỢNG HỌC KÌ I.
Cảm ơn các bạn nhiều
Lưu ý: Không dùng VBA, chỉ dùng công thức có trong Excell 2003 mà thôi.
Tôi cũng sẽ nói một câu y như của Ca_dafi: PHẢI CHI NGAY TỪ ĐẦU BẠN GỬI CÁI FILE NÀY LÊN...
Vấn đề của bạn đâu có phức tạp như là những gì bạn đã hỏi. Gì mà "chỉ đếm những ô chứa chữ, không đếm những ô chứa công thức..." làm chúng tôi cũng rối tung lên theo bạn! Rút kinh nghiệm lần sau nhé.

Đây chỉ là đếm theo nhiều điều kiện, và hàm SUMPRODUCT() có thể giải quyết tốt.

Tuy nhiên, góp ý với bạn tí, bạn làm cái cột phụ Z làm gì vậy?

Có phải ở cột C, nếu là nữ, thì bạn đánh dấu "x", còn không phải là nữ thì bỏ trống chứ gì? Vậy thì bạn chỉ cần "đếm" những ô mà ở cột C nó "không rỗng" và theo cái xếp loại của bạn.

Để xếp loại các học sinh nữ, bạn làm thử như thế này:

H113: =SUMPRODUCT(($C$6:$C$105<>"") * ($T$6:$T$105>=8))

J113: =SUMPRODUCT(($C$6:$C$105<>"") * ($T$6:$T$105>=6.5) * ($T$6:$T$105<8))

L113: =SUMPRODUCT(($C$6:$C$105<>"") * ($T$6:$T$105>=5) * ($T$6:$T$105<6.5))

N113: =SUMPRODUCT(($C$6:$C$105<>"") * ($T$6:$T$105>=3.5) * ($T$6:$T$105<5))

P113: =SUMPRODUCT(($C$6:$C$105<>"") * ($T$6:$T$105<3.5))


---------------------------
To Ca_dafi: Sao em hay thích dùng cái "--" nhỉ ?
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn nhiều lắm, vì mình cũng chưa thạo lắm về Excell nên cứ làm theo cách hiểu của mình và trình bày nên đây cách hiểu đó. Sorry lần sau mình sẽ rút kinh nghiệm.

Muốn tính % nữ giỏi thì lấy số nữ giỏi tìm được chia cho tổng số học sinh, tương tự với các xếp hạng khác. Vậy nhé bạn.
Chào bạn có lẽ bạn nhầm rồi, muốn tính số % của nữ thì phải lấy số nữ gỏi chia cho tổng số nữ của cả lớp chứ. Vì vậy bài toán nó mới phức tạp ở chỗ này đấy vì mình không biết dùng công thức thế nào để có thể đếm được tổng số nữ của cả lớp. Cột Z mình phải để ra như vậy nhằm đếm được số nữ. Còn nếu sử dụng cột C để đếm số nữ thì chẳng may có 1 em học sinh là nữ mà bỏ học thì coi như kết quả bài toán sai
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chào bạn có lẽ bạn nhầm rồi, muốn tính số % của nữ thì phải lấy số nữ gỏi chia cho tổng số nữ của cả lớp chứ.
Cái này thì tùy quan điểm của từng người.

Vì vậy bài toán nó mới phức tạp ở chỗ này đấy vì mình không biết dùng công thức thế nào để có thể đếm được tổng số nữ của cả lớp
Công thức tính tổng số nữ của cả lớp:
Mã:
[SIZE="3"][COLOR="Blue"][B]=SUMPRODUCT(--($C$6:$C$105="x"))
=COUNTIF($C$6:$C$105,"x")[/B][/COLOR][/SIZE]

. Cột Z mình phải để ra như vậy nhằm đếm được số nữ. Còn nếu sử dụng cột C để đếm số nữ thì chẳng may có 1 em học sinh là nữ mà bỏ học thì coi như kết quả bài toán sai

Bạn không cần cột này nữa, đúng không bạn!
 
Công thức tính tổng số nữ của cả lớp:
Mã:
[SIZE=3][COLOR=Blue][B]=SUMPRODUCT(--($C$6:$C$105="x"))
=COUNTIF($C$6:$C$105,"x")[/B][/COLOR][/SIZE]

Bạn không cần cột này nữa, đúng không bạn!
1. Nếu bạn lấy cột C để đếm số nữ, vậy trong trường hợp 1 em học sinh là nữ bỏ học nhưng giáo viên đó vẫn phải ghi tên em học sinh đó vào danh sách học sinh (Vì lý do nhập điểm điều này thường xảy ra ở chỗ mình công tác) thì coi như kết quả thống kê là sai. Vì vậy mình phải lấy thêm cột Z để tính học sinh nữ từ ngay kết quả thi (cột TBm) như vậy dù giáo viên có ghi tên em học sinh đã bỏ học đó vào danh sách thì cũng không ảnh hưởng gì tới kết quả thống kê.
Cái này thì tùy quan điểm của từng người.
2. Nếu lấy số học sinh nữ đạt loại giỏi mà chia cho tổng số học sinh của cả lớp thì theo mình là không hợp lý. Vì Tổng số học sinh của cả lớp chiếm 100%, nếu tính % của học sinh giỏi là nữ thì phải lấy số nữ đạt loại giỏi chia cho tổng số nữ là 100%
Rõ dàng có sự khác biệt đúng không bạn.
Cảm ơn bạn rất nhiều, chúc bạn luôn mạnh khỏe và hạnh phúc.
 
Web KT

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

Back
Top Bottom