ho_ngheo81
Thành viên mới

- Tham gia
- 25/11/06
- Bài viết
- 4
- Được thích
- 0
To Shinec:1. Tính số phần tử xuất hiện trong một mảng số
{=sum(1/Countif(vungso,vungso))}
Ý tưởng trong hàm trên: quét qua các số trong mảng rồi cộng lại với quy tắc. Nếu số đó xuất hiện một lần thì tính 1 (1/1 = 1), nếu số đó xuất hiện n lần thì các lần lước qua sẽ được tính giá trị là 1/n (như vậy sau n lần lước qua ta cộng lại được = 1)
2. Cộng các phần tử trong mảng và không tính nếu phần tử xuẩt hiện lần thứ 2 trở lên.
{=sum(vungso/countif(vungso,vungso))}
Ý tưởng thì giống như trên như ở trên có điều mỗi lần lước qua một phần tử trong mảng ta không tính giá trị là 1 là tính giá trị là chính con số đó.
Với công thức mảng thì bạn lưu ý phải kết thúc bằng tổ hợp phím Ctrl+Shift+Enter chứ không phải Enterho_ngheo81 đã viết:trời ạ!
Mình thử rùi mà chẳng được chi cả, có ai đó giúp mình giải thích kỹ chút không?
Câu hỏi của bạn là đếm số khác nhau hay liệt kê dãy số trong cột THUAKE (mỗi số chỉ xuất hiện 1 lần). Nếu là liệt kê thì bạn dùng bộ lọc Filter > Advanced Filter, chọn sẽ nhanh hơn, sau đó bạn có thề dùng hàm COUNTIF đếm số lần số đó xuất hiện trong cột. Cách lọc:ho_ngheo81 đã viết:Mình có một bảng excel (file đi kèm) Trong cột THUAKE có rất nhiều số khác nhau, nhiều số giống nhau
Mình muốn tìm ra xem có bao nhiêu số khác nhau thì có thể dùng hàm gì? Ai biết thì giúp mình nha
Option Explicit
[B]Sub ColorOrList() [/B]
On Error Resume Next
Dim Mau As Boolean
Mau = InputBox("Hay Nhap ieu cau", "", True)
ListUnique Mau
[B]End Sub
Sub ListUnique(Optional Color As Boolean) [/B]
Dim Ten, iJ As Long, iW As Long, iRec As Long
Sheets("Sh2").Select
iRec = Range("B65432").End(xlUp).Row
ReDim Trung(iRec) As Boolean
For iJ = 2 To iRec
Ten = Range("B" & iJ).Value
If Trung(iJ) = True Then GoTo Het1Rec
For iW = iJ + 1 To iRec
If Range("B" & iW).Value = Ten Then
Trung(iW) = True: Trung(iJ) = True
End If
Next iW
If iW > iRec And Trung(iJ) = False Then
[COLOR="blue"]1' Muốn tô màu DSách[/COLOR]
If Color = 0 Or Color = False Then
Range("B" & iJ).Interior.ColorIndex = 35
Range("B" & iJ).Interior.Pattern = xlSolid
Else
[COLOR="Blue"]2'. Muốn liệt kê ra 1 DSách riêng tại các cột 'I:K'[/COLOR]
Range("I" & Range("I65432").End(xlUp).Row + 1).Value = Range("A" & iJ)
Range("J" & Range("J65432").End(xlUp).Row + 1).Value = Ten
Range("K" & Range("K65432").End(xlUp).Row + 1).Value = Range("C" & iJ)
End If: End If
Het1Rec: Next iJ
[B]End Sub [/B]