Hàm nào cho phép đếm số lượng phần tử trong 1 ô vậy

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

kyr_mufi

Guest
26/12/05
13
0
0
46
Đà Nẵng
Chẳng hạn:
Ô A nhập (1,2,3,4,5) Ô B dùng công thức gì để cho kết quả là 5 (phần tử).
Các cao thủ ai biết chỉ giúp./.
 
Khóa học Quản trị dòng tiền
S

Song Huong

Cao cấp
kyr_mufi nói:
Chẳng hạn:
Ô A nhập (1,2,3,4,5) Ô B dùng công thức gì để cho kết quả là 5 (phần tử).
Các cao thủ ai biết chỉ giúp./.
Bạn viết hàm tự tạo. Ví dụ hàm Element sau đây.

Function Element(mString)

'Khai bao cac bien Counter, l, i
Dim Counter, l, i
mString = RTrim(Trim(mString)) 'Cat bo khoang trong thua
l = Len(mString) 'Xac dinh do dai cua chuoi mString

Counter = 0
If l = 0 Then
Counter = -1
Else
For i = 2 To l - 1
If Mid(mString, i, 1) = "," Then
Counter = Counter + 1
End If
Next i

End If

Element = Counter + 1
End Function

Gửi bạn file Element.xla (file đính kèm)
Chúc thành công.
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
49
Hà Nội
www.bluesofts.net
kyr_mufi nói:
Chẳng hạn:
Ô A nhập (1,2,3,4,5) Ô B dùng công thức gì để cho kết quả là 5 (phần tử).
Các cao thủ ai biết chỉ giúp./.

Giả sử A2 là "1,2,3,4,5"
B2 là công thức cho ra số phần tử của A2
Giải:
B2 công thức là =LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1

Có một số bạn, ngay cả các "chuyên gia" trên PCWorld để giải quyết các vấn đề hay sử dụng VBA để làm (Có phải ai cũng biết môi trường VBE/VBA đâu, đến Add-Ins còn không biết mà). Nhưng nếu khai thác được các hàm sẵn có của EXCEL vẫn là tối ưu nhất cho người dùng.
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
11
18
44
Nha Trang
Về vấn đề này bác adam_tran có lần nêu ra một cách tính rất hay mà tôi xin trình bày lại với bạn như sau: Cách tính của bác adam_tran là để tính số lần xuất hiện của một ký tự (nhóm ký tự) trong 1 chuổi. Cách tính như sau:
Ví dụ: Chuổi có sẳn: ô A1 "alsdjkfhadhjfhgoithlksjgh"
Ký tự cần đếm số lần lặp lại trong chuổi: "j" thì cách tính như sau:
=(LEN(A1)-LEN(SUBSTITUTE(A1,"j","")))/LEN("j")

Tương tự như trường hợp này nếu bạn tính số phần từ thì bạn có thê rtính các dấu ngăn cách các phần tử rồi cộng thêm 1 ở đây dấu ngăn cách các phần tử là dấu phẩy (",") vậy ta tính số phần tử như sau:

=(LEN(A1)-LEN(SUBSTITUTE(A1,",","")))/LEN(",") + 1
 
S

Shaman

Guest
29/8/06
2
0
0
Ha Noi
Lão già & cây si nói đúng rùi:
B2 là công thức cho ra số phần tử của A2
B2=IF(LEN(TRIM(A2))=0,0,LEN(TRIM(A2))-LEN(SUBSTITUTE(A2,",",""))+1)

Nếu muốn count mà ngăn cách bằng space thì bỏ dấu , là được
=IF(LEN(TRIM(E9))=0,0,LEN(TRIM(E9))-LEN(SUBSTITUTE(E9," ",""))+1)

Nói túm lại là dùng ký tự, từ nào để ngăn cách thì điền cái đó vào nháy
kép màu xanh là Okie.

Hope this clear.
----------------------------------------------

Press CTRL+ALT+DELETE to RESTART your life !!!
 
H

hoangkhai05

Sơ cấp
27/10/05
1
0
1
Thanh Hoa
dem phan tu trong o

minh cung khong hieu y ban dem tai o A co (1,2,3,4,5 ) hay o A có (12345) neu dung y minh thi ban chi can chon ham = Len(o chua phan tu) cho ket qua la 5.
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
49
Hà Nội
www.bluesofts.net
hoangkhai05 nói:
minh cung khong hieu y ban dem tai o A co (1,2,3,4,5 ) hay o A có (12345) neu dung y minh thi ban chi can chon ham = Len(o chua phan tu) cho ket qua la 5.

12345 là một trị số hay một phần tử
123,45 là 2 phần tử.
 
H

huuhien2006

Guest
24/5/14
1
0
0
37
nam dinh
Ðề: Hàm nào cho phép đếm số lượng phần tử trong 1 ô vậy

Thế nếu muốn đếm trong khoảng ô từ A2 đến f8 thì sao

Về vấn đề này bác adam_tran có lần nêu ra một cách tính rất hay mà tôi xin trình bày lại với bạn như sau: Cách tính của bác adam_tran là để tính số lần xuất hiện của một ký tự (nhóm ký tự) trong 1 chuổi. Cách tính như sau:
Ví dụ: Chuổi có sẳn: ô A1 "alsdjkfhadhjfhgoithlksjgh"
Ký tự cần đếm số lần lặp lại trong chuổi: "j" thì cách tính như sau:
=(LEN(A1)-LEN(SUBSTITUTE(A1,"j","")))/LEN("j")

Tương tự như trường hợp này nếu bạn tính số phần từ thì bạn có thê rtính các dấu ngăn cách các phần tử rồi cộng thêm 1 ở đây dấu ngăn cách các phần tử là dấu phẩy (",") vậy ta tính số phần tử như sau:

=(LEN(A1)-LEN(SUBSTITUTE(A1,",","")))/LEN(",") + 1

Đấy là đối với một ô A1.Thế giả dụ có khoảng ô từ A1 đến f8 thì tính thế nào
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Ðề: Hàm nào cho phép đếm số lượng phần tử trong 1 ô vậy

Thì lấy 1 ô trống nào đó (ngoài vùng fủ sóng nhe!) mà 'Cộng' lại thôi;
Không 'Cộng' xuễ thì xài VBA



Chúc vui cuối tuần!
 
K

kitty110

Sơ cấp
15/12/09
4
0
1
38
bn
Ðề: Hàm nào cho phép đếm số lượng phần tử trong 1 ô vậy

Giả sử A2 là "1,2,3,4,5"
B2 là công thức cho ra số phần tử của A2
Giải:
B2 công thức là =LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1

Có một số bạn, ngay cả các "chuyên gia" trên PCWorld để giải quyết các vấn đề hay sử dụng VBA để làm (Có phải ai cũng biết môi trường VBE/VBA đâu, đến Add-Ins còn không biết mà). Nhưng nếu khai thác được các hàm sẵn có của EXCEL vẫn là tối ưu nhất cho người dùng.



Anh ơi, cho e hỏi thêm trường hợp nếu dữ liệu ô A2 có chứa dữ liệu khoảng từ giá trị a đến giá trị b, cụ thể A2="1;2;3;5-8" thì dùng công thức nào để tính ra được B2=7 phần tử ạ (3 phần tử 1;2;3 & 4 phần tử từ 5->8).

Thanks!
 
T

Tran Anh Truong

Guest
25/7/15
3
0
1
38
upload_2015-7-25_8-23-56.png
@@ Ham sai khi ket qua = 0
B2 công thức là =LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1
 
T

Tran Anh Truong

Guest
25/7/15
3
0
1
38
DayKet qua
1
191
24; 26; 26; 294
351
42; 43; 483
51; 54; 56; 594
61; 61; 61; 66; 675
72; 792
80; 82; 82; 83; 885
91; 982
[TBODY] [/TBODY]
 
T

Tran Anh Truong

Guest
25/7/15
3
0
1
38
Co cach nao xu ly khi ko co ket qua lai ra =1 ko B oi???
 
N

nguoiconxunui

Khách vãng lai
29/6/04
1,280
215
63
Bình Định
aso2pc.co.cc
Ðề: Hàm nào cho phép đếm số lượng phần tử trong 1 ô vậy





Anh ơi, cho e hỏi thêm trường hợp nếu dữ liệu ô A2 có chứa dữ liệu khoảng từ giá trị a đến giá trị b, cụ thể A2="1;2;3;5-8" thì dùng công thức nào để tính ra được B2=7 phần tử ạ (3 phần tử 1;2;3 & 4 phần tử từ 5->8).

Thanks!
cái này không có công thức, theo hiểu biết sơ đẳng của mình là vậy.
 

Xem nhiều