hiennv.tsc
Thành viên chính thức


- Tham gia
- 13/4/19
- Bài viết
- 51
- Được thích
- 16
bạn định nối thế nàoXin chào các bạn!
Các bạn giúp mình hàm này với nhé
mình có file đính kèm
Xin trân thành cảm ơn các bạn!
Nối theo dấu "," hoặc dấu gì đó bạn làm ơn là cho tùy chọn dấu trong hàm nhébạn định nối thế nào
Thử:Xin chào các bạn!
Các bạn giúp mình hàm này với nhé
mình có file đính kèm
Xin trân thành cảm ơn các bạn!
E3=IFERROR(1/(1/SUM(MMULT(N(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100))=F3),ROW($1:$26)^0)))&"-"&F3&"-K","0-K-"&F3)
Cảm ơn bạn @Thử:
Enter, fill xuống.Mã:E3=IFERROR(1/(1/SUM(MMULT(N(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100))=F3),ROW($1:$26)^0)))&"-"&F3&"-K","0-K-"&F3)
Thân
=COUNTIF($C$5:$C$17,"*"&F3&"*") nếu tìm thấy ký tự cần tìm (Vd: F3=15) thì chỉ đếm được:Cảm ơn bạn @
Phan Thế Hiệp
Mình mới vào và đã được đọc các hàm của bạn xử dụng rất hay.
nhưng hàm dài quá bạn ơi, đôi khi sử dụng khó quá
Bạn cho mình hỏi là cái hàm Countif() mình sử dụng để đếm thấy sai bạn à
Bạn giải thích giúp mình sao nó lại sai?
Cảm ơn bạn nhé
Mình gửi lại bài như này, bạn đang hiểu lầm ý của mình (Bởi mình chưa giải thích rõ ý)Thử:
Enter, fill xuống.Mã:E3=IFERROR(1/(1/SUM(MMULT(N(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100))=F3),ROW($1:$26)^0)))&"-"&F3&"-K","0-K-"&F3)
Thân
Công thức bài #4 có thể rút gọn chút:Trời ơi, từ trước tới nay mình toàn dùng công thức trên để đếm trong chuỗi,và mình cũng đã phát hiện ra nó sai sai
Hôm nay bạn giải thích thì mình mới hiểu
Cảm ơn bạn.
Vậy thì dùng hàm nào để thay thế hàm COUNTIF($C$5:$C$17,"*"&F3&"*")
Bạn chỉ dẫn giúp mình với nhé.
(Mặc dù đây là ý phụ của bài chính)
E3=IFERROR(1/(1/SUMPRODUCT(N(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100))=F3)))&"-"&F3&"-K","0-K-"&F3)
BạnCông thức bài #4 có thể rút gọn chút:
Enter, fill xuống.Mã:E3=IFERROR(1/(1/SUMPRODUCT(N(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100))=F3)))&"-"&F3&"-K","0-K-"&F3)
Thân
Thử:Bạn
Phan Thế Hiệp
ơi, đấy không phải kết quả mình mong muốn (Bởi vì mình không nói rõ ý)
Bạn xem lại file giúp mình nhé!
L2=JoinText(";",IF(FREQUENCY(IFERROR(MATCH(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100)),$F$3:$F$103,),""),ROW($1:$100))>=1,$F$3:$F$103,1/0))
L3=JoinText(";",IF(FREQUENCY(IFERROR(MATCH(TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$5:$C$17,";",","),",",REPT(" ",100)),(COLUMN($A:$Z)-1)*100+1,100)),$F$3:$F$103,),""),ROW($1:$100))<1,$F$3:$F$103,1/0))
Không biết có hiểu ý bạn không.Trời ơi, từ trước tới nay mình toàn dùng công thức trên để đếm trong chuỗi,và mình cũng đã phát hiện ra nó sai sai
...
Mình gửi lại bài như này, bạn đang hiểu lầm ý của mình (Bởi mình chưa giải thích rõ ý)
=jointext(";",TRUE,IF(COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")>0,$F$3:$F$102,""))
=jointext(";",TRUE,IF(COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")<1,$F$3:$F$102,""))
Cảm ơn bạnKhông biết có hiểu ý bạn không.
Trong bài của bạn không cần đếm cụ thể. Chỉ cần biết >= 1 hay = 0 (<1).
Công thức cho A1
Công thức cho A2Mã:=jointext(";",TRUE,IF(COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")>0,$F$3:$F$102,""))
Mã:=jointext(";",TRUE,IF(COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")<1,$F$3:$F$102,""))
Cả 2 công thức kết thúc bằng Ctrl + Shift + Enter.
Hàm JoinText bạn xen ở bài #10. Hoặc tự viết, vì chỉ là nối chuỗi thôi.
Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String
Dim aDest() As Variant
Dim aSub As Variant
Dim item As Variant
Dim idx As Long
Dim n As Long
Dim sItem As String
'On Error Resume Next
For n = LBound(Arrays) To UBound(Arrays)
aSub = Arrays(n)
If Not IsArray(aSub) Then aSub = Array(aSub)
For Each item In aSub
If TypeName(item) <> "Error" Then
sItem = CStr(item)
idx = idx + 1
ReDim Preserve aDest(1 To idx)
aDest(idx) = sItem
End If
Next
Next
If idx Then JoinText = Join(aDest, Delimiter)
End Function
Cảm ơn bạn @phuocam chúc bạn buổi sớm và cuối tuần vui vẻ, mạnh khỏeHàm Trong file:
Nên cách sử dụng không có TRUE và cuối là tạo lỗi 1/0:Mã:Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String Dim aDest() As Variant Dim aSub As Variant Dim item As Variant Dim idx As Long Dim n As Long Dim sItem As String 'On Error Resume Next For n = LBound(Arrays) To UBound(Arrays) aSub = Arrays(n) If Not IsArray(aSub) Then aSub = Array(aSub) For Each item In aSub If TypeName(item) <> "Error" Then sItem = CStr(item) idx = idx + 1 ReDim Preserve aDest(1 To idx) aDest(idx) = sItem End If Next Next If idx Then JoinText = Join(aDest, Delimiter) End Function
=JoinText(";",IF(COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")>0,$F$3:$F$102,1/0))
Tôi không hiểu bạn nói gì.Cảm ơn bạn
batman1
Chúc bạn ngày mới và cuối tuần mạnh khỏe có nhiều điều vui.
đúng là như vậy bạn ơi, nhưng công thức COUNTIF đang bị sai, vì vậy nhờ bạn dùng công thức khác giúp mình với nhé
Bạn ơi, nếu nó đã đếm không chính xác rồi thì làm sao tin được kết quả là đúng hay sai?Tôi không hiểu bạn nói gì.
Bạn có cần đếm đâu. Và tôi cũng không cần đếm chính xác. Chỉ cần biết có >= 1 hay không. Vì thế dùng COUNTIF($C$5:$C$17,"*"&$F$3:$F$102&"*")>0 được. Cho dù xuất hiện 1, 2 hay 100 lần chăng nữa thì cũng chả cần quan tâm. COUNTIF ở trên sẽ trả về TRUE nếu Fxyz xuất hiện ÍT NHẤT 1 lần. Thế là đủ, đâu cần đếm chính xác?
Cái mà bạn cần kiểm tra là xem kết quả "00;01..." có đúng ý không thôi. Nếu đúng ý thì đừng bắt người khác phải dùng hàm khác hay vẫn dùng COUNTIF nhưng phải theo ý mình. Chuyện bạn nhờ thì chỉ cần kết quả. Phương pháp thì hãy để người khác tự lựa chọn.
Theo file bài 1, đếm chính xácBạn ơi, nếu nó đã đếm không chính xác rồi thì làm sao tin được kết quả là đúng hay sai?
Ví dụ có số trong dãy nhưng nó đếm =0 thì kết quả bị sai bạn à
Và điều mình muốn nữa là không chỉ dùng đếm cho trường hợp >1 hay <1
Mà có thể cho >; < với bát kỳ số nào
Vậy mong bạn giúp đỡ nhé
Cảm ơn bạn!
G3=SUMPRODUCT((LEN($C$5:$C$17)-LEN(SUBSTITUTE($C$5:$C$17,F3,"")))/LEN(F3))
Cảm ơn bạnTheo file bài 1, đếm chính xác
Mã:G3=SUMPRODUCT((LEN($C$5:$C$17)-LEN(SUBSTITUTE($C$5:$C$17,F3,"")))/LEN(F3))
|
trong các file mẫu làm gì có nói lỗi #N/A đâu bạnCảm ơn bạn
công thức này đúng nhưng khi gắp các lỗi #N/A thì công thức cũng sẽ bị lỗi
Bởi vì các vùng tham chiếu của mình có đặt công thức, nên các lỗi #N/A là hay thơngf gặp
Tôi biết là bạn lười, và bạn nghĩ là không được nên không thử làm như tôi hướng dẫn.Bạn ơi, nếu nó đã đếm không chính xác rồi thì làm sao tin được kết quả là đúng hay sai?
Ví dụ có số trong dãy nhưng nó đếm =0 thì kết quả bị sai bạn à
Vậy mong bạn giúp đỡ nhé
Cảm ơn bạn!
Đây là ý mà bây giờ bạn mới thêm vào.Và điều mình muốn nữa là không chỉ dùng đếm cho trường hợp >1 hay <1
Mà có thể cho >; < với bát kỳ số nào
=jointext(",",TRUE,IF(TRANSPOSE(MMULT(--TRANSPOSE(ROW($5:$17)>0),LEN($C$5:$C$17)-LEN(SUBSTITUTE($C$5:$C$17,TRANSPOSE($F$3:$F$102),"*"))))>=2,$F$3:$F$102,""))