Hàm sau:Nhờ mọi người hỗ trợ mình yêu cầu nêu trong file đính kèm nhé. Mình muốn là dùng 1 công thức ra được kết quả, không muốn dùng thêm cột phụ hoặc qua các bước trung gian. Cảm ơn mọi người.
Đề bài bạn đưa ra đang bị lệch mất 1 cột.Nhờ mọi người hỗ trợ mình yêu cầu nêu trong file đính kèm nhé. Mình muốn là dùng 1 công thức ra được kết quả, không muốn dùng thêm cột phụ hoặc qua các bước trung gian. Cảm ơn mọi người.
nếu bạn muốn dùng VBA thì thử xem. code cùi bắp thôi nhưng nếu dữ liệu nhiều dòng và phức tạp thì bảo đảm vẫn chạy đúng.Nhờ mọi người hỗ trợ mình yêu cầu nêu trong file đính kèm nhé. Mình muốn là dùng 1 công thức ra được kết quả, không muốn dùng thêm cột phụ hoặc qua các bước trung gian. Cảm ơn mọi người.
Đây bạn nhé! Bạn sử dụng hàm Dax trong power pivot nhé! Bạn nạp dữ liệu bao nhiêu cũng được.Bạn tranhungdao12a3 có thể thực hiện trực tiếp trên file mình gửi được không. Thanks bạn.
Thử:Nhờ mọi người hỗ trợ mình yêu cầu nêu trong file đính kèm nhé. Mình muốn là dùng 1 công thức ra được kết quả, không muốn dùng thêm cột phụ hoặc qua các bước trung gian. Cảm ơn mọi người.
E3=COUNT(1/(MMULT(N(IF(MATCH(B3:B9&C3:C9,B3:B9&C3:C9,)=ROW(1:7),B3:B9)=TRANSPOSE(IF(MATCH(B3:B9&C3:C9,B3:B9&C3:C9,)=ROW(1:7),B3:B9))),ROW(1:7)^0)*(MATCH(B3:B9,B3:B9,)=ROW(1:7))>=E2))
Thanks bạn, cách dùng qua cột phụ thì mình đã làm được trước đó rồi. Mình ưu tiên dùng 1 công thức để trả về kết quả trong 1 ô thôi.Đề bài bạn đưa ra đang bị lệch mất 1 cột.
Bạn tham khảo công thức tôi làm theo file đính kèm (chưa nghĩ ra được cách bỏ trung gian).
Chắc dùng VBA mới làm được.
Thanks bạn.nếu bạn muốn dùng VBA thì thử xem. code cùi bắp thôi nhưng nếu dữ liệu nhiều dòng và phức tạp thì bảo đảm vẫn chạy đúng.
Thanks bạn Hiệp. Công thức này rất hay. Để mình chạy trên tập data lớn và kiểm tra lại xem kết quả ok không. Bạn giải thích giúp mình công thức này được không, và ý tưởng như thế nào để nghĩ ra công thức này nhỉ.Thử:
Ctrl+Shift+Enter.Mã:E3=COUNT(1/(MMULT(N(IF(MATCH(B3:B9&C3:C9,B3:B9&C3:C9,)=ROW(1:7),B3:B9)=TRANSPOSE(IF(MATCH(B3:B9&C3:C9,B3:B9&C3:C9,)=ROW(1:7),B3:B9))),ROW(1:7)^0)*(MATCH(B3:B9,B3:B9,)=ROW(1:7))>=E2))
Thân
Mình có nghĩ đến hàm này, nhưng chưa nghĩ được công thức như thế nàoĐang thử dùng hàm FREQUENCY. .
.
Công thức này viết chơi cho vui thôi chứ không thể dùng với dữ liệu lớn (khoảng hơn 1000 dòng).Để mình chạy trên tập data lớn và kiểm tra lại xem kết quả ok không.
Mình có nghĩ đến hàm này, nhưng chưa nghĩ được công thức như thế nào
Public Function DemKhachHang(ByVal rng As Range, ByVal num As Long) As Long
Application.Volatile
Dim arrData, i&, total&, temp$
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
arrData = rng.Value
For i = 1 To UBound(arrData, 1)
temp = arrData(i, 1) & "|" & arrData(i, 2)
If Not dic.Exists(temp) Then
dic.Item(temp) = 1
dic.Item(arrData(i, 1)) = dic.Item(arrData(i, 1)) + 1
If dic.Item(arrData(i, 1)) = num Then total = total + 1
End If
Next i
DemKhachHang = total
End Function
Thanks bạn nhé.Nếu bạn biết dùng Dax dùng công thức tôi gửi trên, nạp 10tr dòng cũng ko vấn đề gì nhé!