Hoàng Nhật Phương
Thành viên gắn bó



- Tham gia
- 5/11/15
- Bài viết
- 1,895
- Được thích
- 1,219
Xin chào tất cả các bạn,
Phiền mọi người giúp đỡ cho tôi công thức trong file đính kèm với ạ.
Xin cảm ơn các bạn rất nhiều.
ờ hen, đúng rồi bạn ạ! sao đơn giản thế nhỉ.Cảm ơn bạn nhiều lắm.Ô J7 =COUNTIF($B$6:$B$18,$I7) sau đó bạn kéo xuống. Không biết đúng ý bạn không? Thân
Mã:=countifs($b$6:$b$18,$i7,$c$6:$c$18,">0")
Xin chào tất cả các bạn,
Phiền các bạn giúp đỡ tôi vấn đề nêu trong file kèm với ạ.
Xin cảm ơn các bạn rất nhiều
Trong khi chờ công thức thì dùng tạm hàm VBA nhé.
Trong khi chờ công thức thì dùng tạm hàm VBA nhé.
Hic,bạn cho hỏi thêm làm thế nào để có thêm được công thức GPE như ở trong file của bạn vậy?
Tôi áp dụng áp dụng vào file thật không thấy hàm này bạn ạ.
Mong bạn chỉ giáo thêm cho ạ.
Xin cảm ơn bạn rất nhiều.
Xin chào tất cả các bạn,
Phiền các bạn giúp đỡ tôi vấn đề nêu trong file kèm với ạ.
Xin cảm ơn các bạn rất nhiều
=SUM(IFERROR(1/COUNTIF(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6),OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6)),0))
Nó là hàm tự tạo tôi viết bằng VBA.
Bạn ấn Alt+F11 sẽ thấy module có hàm đó.
Khi mở file nhớ chọn Enable Macros thì các code VBA mới hoạt động được.
Nếu lưu file trong Excel 2007 về sau thì phải lưu dạng .xlsm hoặc .xlsb, nếu lưu .xlsx thì code "trốn mất".
Mình xin bổ sung thêm 1 cách dùng công thức mảng nha:
Mã:=SUM(IFERROR(1/COUNTIF(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6),OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6)),0))
Cảm ơn bạn đã hỗ trợ cho tôi ạ,làm phiền bạn có thể hướng dẫn thêm hoặc gửi thêm file kèm được không ạ.
Tôi copy công thức vào thì kết quả trả về toàn là 0.
Chúc bạn ngày mới nhiều niềm vui.
Oanh Thơ
Chắc tại bạn chưa CTRL+SHIFT+ENTER rồi. File đây nha bạn :
Của bạn đây:A! Thì ra là vậy xin cảm ơn khuongvietphong nhiều nhé.
Tôi đã thử vận dụng 2 cách:
Hàm tự tạo và công thức mảng của bạn đều được rồi nhưng cả 2 nhưng trong trường hợp có dữ liệu dạng text hoặc ký tự đặc biệt thì vẫn đếm cả, liệu có thể bắt lỗi cho trường hợp đếm giá trị số , lớn hơn 0 ( =0 cũng không tính) thì có được không ạ?
Nếu không được thì thôi ạ với tôi như thế này cũng là OK rồi ạ.
Xin cảm ơn các bạn nhiều
=SUM(IFERROR(1/(COUNTIF(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6),OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6))*ISNUMBER(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6))),0))
Của bạn đây:
Mã:=SUM(IFERROR(1/(COUNTIF(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6),OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6))*ISNUMBER(OFFSET($C$2,MATCH(K4,$C$3:$C$26,0),1,COUNTIF($C$3:$C$26,K4),6))),0))
khuongvietphong ơi trường hợp dữ liệu text đã loại bỏ được rồi, còn trường hợp >0 nữa thôi bạn à hihi
hì , đúng rồi trong file kèm tại cột kết quả minh họa do vôi vàng đếm thủ công nên đã xảy ra nhầm lẫn sau khi kiểm tra lại = công thức của các bạn thì mới thấy được .
=SUM(IFERROR(1/(COUNTIF(vung,vung)*ISNUMBER(vung)*(vung>0)),0))
Nếu bạn muốn xài hàm tự tạo thì vào Module, thay cái cũ bằng cái này:A! Thì ra là vậy xin cảm ơn khuongvietphong nhiều nhé.
Tôi đã thử vận dụng 2 cách:
Hàm tự tạo và công thức mảng của bạn đều được rồi nhưng cả 2 nhưng trong trường hợp có dữ liệu dạng text hoặc ký tự đặc biệt thì vẫn đếm cả, liệu có thể bắt lỗi cho trường hợp đếm giá trị số , lớn hơn 0 ( =0 cũng không tính) thì có được không ạ?
Nếu không được thì thôi ạ với tôi như thế này cũng là OK rồi ạ.
Xin cảm ơn các bạn nhiều
Public Function GPE(Rng As Range, DK As Range) As Long
Dim Arr(), I As Long, J As Long, Tem As String
Arr = Rng.Value
For I = 1 To UBound(Arr,1)
If Arr(I, 1) = DK.Value Then
For J = 2 To UBound(Arr, 2)
If IsNumeric(Arr(I, J)) And Arr(I, J) > 0 Then
If InStr(Tem, "#" & Arr(I, J) & "$") = 0 Then
GPE = GPE + 1
Tem = Tem & "#" & Arr(I, J) & "$"
End If
End If
Next J
End If
Next I
End Function
Công thức này bạn thay vào File của bài #17:
Mã:=SUM(IFERROR(1/(COUNTIF(vung,vung)*ISNUMBER(vung)*(vung>0)),0))
Sao bữa nay hỏi "nhát gừng" vậy bạn![]()
Nếu bạn muốn xài hàm tự tạo thì vào Module, thay cái cũ bằng cái này:
PHP:Public Function GPE(Rng As Range, DK As Range) As Long Dim Arr(), I As Long, J As Long, Tem As String Arr = Rng.Value For I = 1 To UBound(Arr,1) If Arr(I, 1) = DK.Value Then For J = 2 To UBound(Arr, 2) If IsNumeric(Arr(I, J)) And Arr(I, J) > 0 Then If InStr(Tem, "#" & Arr(I, J) & "$") = 0 Then GPE = GPE + 1 Tem = Tem & "#" & Arr(I, J) & "$" End If End If Next J End If Next I End Function
Theo từ điển GPE thì "1 Tê"= 19 năm đó bạnHi,
-----
vậy, hình như người trong anh tuổi tác cũng cao cao thì phải.
Nếu đúng là bạn thìcho tôi xin lỗi vì cách xưng hô nhé.
Theo từ điển GPE thì "1 Tê"= 19 năm đó bạn
Híc![]()
Theo từ điển GPE thì "1 Tê"= 19 năm đó bạn
Híc![]()
Lại một bài toán nữa.Câu hỏi và nội dung Oanh Thơ đã đặt trong file kèm.
Oanh Thơ xin gửi mẫu lên đây nhờ Bác Ba Tê cùng các bạn giúp đỡ cho ạ.
Xin cảm ơn rất nhiều.
Tham khảo macro này; Dù chậm nhưng vẫn đưa lên:Lại một bài toán nữa. . .
Option Explicit
Sub TimSoKhongCoTrongDanhSach()
Dim Rng As Range, sRng As Range, Arr()
Dim J As Long, W As Long, Thg As Byte
Dim MyAdd As String
Set Rng = Range([B3], [B65500].End(xlUp))
Arr() = Rng.Value
Set Rng = [d3].CurrentRegion
ReDim dArr(1 To 12, 1 To 2)
For J = 1 To UBound(Arr())
W = W + 1
If Arr(J, 1) = W Then
Else
Set sRng = Rng.Find(W, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
Thg = Month(Cells(sRng.Row, "D").Value)
If dArr(Thg, 2) = "" Or InStr(dArr(Thg, 2), CStr(W)) < 1 Then
dArr(Thg, 1) = dArr(Thg, 1) + 1
dArr(Thg, 2) = CStr(W) & "; " & dArr(Thg, 2)
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
End If
Next J
Randomize
[n5].Resize(12, 2).Value = dArr()
[n4].Resize(, 2).Interior.ColorIndex = 34 + 9 * Rnd() \ 1
End Sub
Bạn có chắc là bố trí như vậy là file cuối cùng chưa? theo tôi thì tôi hơi nghi ngờ cách bố trí này bạn sẽ thay đổi trong tương lai gầnhuhu, Oanh Thơ rất xin lỗi 2 bạn Sa-DQ và khuongvietphong vì đã làm mất thời gian của 2 người.mong 2 bạn và mọi người bớt giận ạ.
mới đầu Oanh thơ cứ nghĩ vấn đề này có vẻ đơn giản chỉ dùng công thức thông thường thôi nên đã làm tạm cái mẫu đơn giản để gửi lên nhờ sự hỗ trợ ai ngờ xem công thức và code mà cũng thấy choáng quá.
Giờ Oanh Thơ xin gửi lại đúng mẫu chuẩn so với file thực làm phiền bạn và bác thêm 1 lần nữa ạ...
Đại loại bài #6 là tính toán chi tiết từng sheet và Oanh Thơ đã áp dụng vào file thực OK rồi,
Còn bài #27 là Tổng hợp theo điều kiện phức tạp hơn 1 chút ạ.
huhu, Oanh Thơ rất xin lỗi 2 bạn Sa-DQ và khuongvietphong vì đã làm mất thời gian của 2 người.mong 2 bạn và mọi người bớt giận ạ.
mới đầu Oanh thơ cứ nghĩ vấn đề này có vẻ đơn giản chỉ dùng công thức thông thường thôi nên đã làm tạm cái mẫu đơn giản để gửi lên nhờ sự hỗ trợ ai ngờ xem công thức và code mà cũng thấy choáng quá.
Giờ Oanh Thơ xin gửi lại đúng mẫu chuẩn so với file thực làm phiền bạn và bác thêm 1 lần nữa ạ...
Đại loại bài #6 là tính toán chi tiết từng sheet và Oanh Thơ đã áp dụng vào file thực OK rồi,
Còn bài #27 là Tổng hợp theo điều kiện phức tạp hơn 1 chút ạ.
Chắc chắn bạn ạ, làm phiền các bạn tôi cảm thấy ngại lắm chứ ạ vừa mất thời gian thậm chí khiến các bạn bực mình vì thay đổi ý này ý nọ...Bạn có chắc là bố trí như vậy là file cuối cùng chưa? theo tôi thì tôi hơi nghi ngờ cách bố trí này bạn sẽ thay đổi trong tương lai gần
Bác SA file cuối cùng rồi đó, bác giúp luôn cho bạn nha hic hic
Cảm ơn khuongvietphong đã quay trở lạiBạn giải thích kết quả được không. Tại sao ô F6 trong sheet Tổng hợp lại điền vào là 6 ????
ok bạnChắc chắn bạn ạ, làm phiền các bạn tôi cảm thấy ngại lắm chứ ạ vừa mất thời gian thậm chí khiến các bạn bực mình vì thay đổi ý này ý nọ...
mới đầu tôi định không dám hỏi nữa vì thấy ngại quá nhưng nghĩ nghĩ thế nào thôi cứ hỏi vậy híc híc
nếu bạn có cơ sở để ngờ ngợ tôi sẽ thay đổi xin bản chỉ dẫn cho tôi biết được không ạ, để tránh mất thời gian của tất cả mọi người ạ.
Cảm ơn bạn nhiều vì đã quan tâm ạ.
Bạn giải thích kết quả được không. Tại sao ô F6 trong sheet Tổng hợp lại điền vào là 6 ????
ok bạn
Thứ nhất sheet DS, nếu các đại lý thêm mã hàng thì thêm như thế nào? cách bố trí của bạn như vậy là không phù hợp, dữ liệu phải có hàng tiêu đề, không lộn xộn được, nếu bạn muốn chú thích thằng nào ở đại lý nào thì nên thêm 1 cột kế bên
Thứ 2: bạn có chắc chắn là mình có 3 đại lý không? bố trí từng đại lý từng sheet có khoa học không?
Thứ 3: dữ liệu nên bắt đầu ngay tại cột đầu tiên, nếu chuẩn nữa thì phải ngay tại hàng đầu tiên nữa
thực ra những đạng thống kê này rất đơn giản và dễ làm, và hầu như mọi người sẵn sàng giúp bạn nhanh gọn lẹ, nhưng mà người ta ngại sẽ làm đi làm lại nhiều nên người ta không muốn đụng vô đấy, theo tôi biết làm như vậy
Hix không hiểu sao danh sách tôi gửi lên lại mất hết định dạng điều kiện các con số thuộc danh sách nằm ở các sheet a,b,c
tôi thử làm lại đưa công thức định dạng điều kiện vào không được cũng lại bị mất không hiểu máy móc bị sao nữa.
giờ đưa điều kiện vào name thì được rồi ạ.
bạn xem lại file kèm nhé.
Thêm nhiều sheet đại lý nữa thì thua. Phong có thể kết hợp thêm hàm Indirect thử xem sao?Bạn xem File nha. Kiểm tra lại giúp mình xem tháng 4 của đại lý a kết quả phải ra 6 mới đúng chứ của bạn đếm có ra 5 thôi à
Thêm nhiều sheet đại lý nữa thì thua. Phong có thể kết hợp thêm hàm Indirect thử xem sao?
Tất cả các sheet đại lý là như nhau. tại sao mình không lợi dụng hàm indirect để gôm tất cả các đại lý đó vào 1 name. Bài này tôi thấy bạn dùng 3 name cho 3 đại lý, giả dụ nhiều đại lý hơn nữa là mình phải có nhiều vùng name hay saoDạ, trong công thức em cũng có sử dụng hàm Indirect mà.
Tất cả các sheet đại lý là như nhau. tại sao mình không lợi dụng hàm indirect để gôm tất cả các đại lý đó vào 1 name. Bài này tôi thấy bạn dùng 3 name cho 3 đại lý, giả dụ nhiều đại lý hơn nữa là mình phải có nhiều vùng name hay sao
ủa bạn anh Thơ là bạn nào vậy ta ?
hi,cảm ơn bạn khuongvietphong nhiều nhé thế mới biết là sự khác nhau giữa sử dụng công thức và thủ công là như thế nào.Bạn xem File nha. Kiểm tra lại giúp mình xem tháng 4 của đại lý a kết quả phải ra 6 mới đúng chứ của bạn đếm có ra 5 thôi à
Thử:Xin chào các bạn,
Nhờ các bạn giúp đỡ cho tôi công thức trường hợp trong tập tin gửi kèm với ạ:
AF4=COUNT(1/SEARCH(IF($AE$3="All","*",$AE$3),$D$4:$D$39)/($E$3:$AA$3=AF$3)/($F$4:$AB$39=$AE4))
Không biết có To11 khôngThử:
Kết thúc bằng Ctrl+Shift+Enter.Mã:AF4=COUNT(1/SEARCH(IF($AE$3="All","*",$AE$3),$D$4:$D$39)/($E$3:$AA$3=AF$3)/($F$4:$AB$39=$AE4))
Thân
AF4=COUNTIFS($D$4:$D$39,IF($AE$3="All","*",$AE$3),OFFSET($D$4:$D$39,,MATCH(AF$3,$D$3:$AB$3,)),$AE4)
Vậy thêm "râu" cho có phân biệt!Không biết có To11 không
Mã:AF4=COUNTIFS($D$4:$D$39,IF($AE$3="All","*",$AE$3),OFFSET($D$4:$D$39,,MATCH(AF$3,$D$3:$AB$3,)),$AE4)
AF4=COUNT(1/SEARCH(IF($AE$3="All","*",$AE$3&";"),$D$4:$D$39&";")/($E$3:$AA$3=AF$3)/($F$4:$AB$39=$AE4))
Uống "Thuốc liều"Xin chào các bạn,
Nhờ các bạn giúp đỡ cho tôi công thức trường hợp trong tập tin gửi kèm với ạ:
AF4=COUNTIFS($D$4:$D$39,IF($AE$3="All","*",$AE$3),OFFSET($D$4:$D$39,,25-COLUMN(A1)),$AE4)
Thử:Oanh Thơ cảm ơn các bác và các anh đã giúp đỡ kết quả đúng hết rồi ạ.
Nhờ mọi người giúp đỡ thêm công thức cho trường hợp bảng 3 của tập tin gửi kèm với ạ.
AG13=COUNTIFS($D$4:$D$40,$AE13,OFFSET($D$4:$D$40,,MATCH(LOOKUP(10^10,$AF$11:AG$11),$E$3:$AA$3,)+1),AG$12)