Trả kết quả theo điều kiện (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

letuongqt

Thành viên hoạt động
Tham gia
26/3/08
Bài viết
141
Được thích
24
Tôi có 1 bảng điểm , với dòng têu đề là tên các môn học . Làm thế nào để liệt kê ra các môn học có điểm <5 (File kèm) , tôi đã dùng hàm IF , tuy nhiên do có hơn 10 môn học nên công thức quá dài dòng . Nhờ các anh có hàm nào đơn giản hơn để giải quyết vấn đề này , xin rất cảm ơn .
 

File đính kèm

Tôi có 1 bảng điểm , với dòng têu đề là tên các môn học . Làm thế nào để liệt kê ra các môn học có điểm <5 (File kèm) , tôi đã dùng hàm IF , tuy nhiên do có hơn 10 môn học nên công thức quá dài dòng . Nhờ các anh có hàm nào đơn giản hơn để giải quyết vấn đề này , xin rất cảm ơn .
Bài này tôi nghĩ bạn dùng hàm tự tạo thì hay hơn! Giả sử có 20 môn, bạn IF đến bao giờ
PHP:
Function JoinIf(VungDK As Range, DK As String, VungKQ As Range, Optional PC As String = "") As String
   Dim i As Long, Temp As String
   For i = 1 To VungDK.Count
     If Evaluate(VungDK(i) & DK) Then
        Temp = Temp & PC & VungKQ(i)
     End If
   Next i
   If Temp = "" Then
     JoinIf = ""
   Else
     JoinIf = Mid(Temp, Len(PC) + 1, Len(Temp) - Len(PC))
   End If
End Function
 

File đính kèm

Trả kết quả theo điều kiện Trả Lời Ðề Tài

Bài này tôi nghĩ bạn dùng hàm tự tạo thì hay hơn! Giả sử có 20 môn, bạn IF đến bao giờ
PHP:
Function JoinIf(VungDK As Range, DK As String, VungKQ As Range, Optional PC As String = "") As String
   Dim i As Long, Temp As String
   For i = 1 To VungDK.Count
     If Evaluate(VungDK(i) & DK) Then
        Temp = Temp & PC & VungKQ(i)
     End If
   Next i
   If Temp = "" Then
     JoinIf = ""
   Else
     JoinIf = Mid(Temp, Len(PC) + 1, Len(Temp) - Len(PC))
   End If
End Function
Nếu có cell nào đó không có điểm ( rỗng - Thực tế có những học sinh được miễn môn học ví dụ môn Thể dục , môn nhạc ,... vì lý do nào đó) , thì kết quả khi dùng hàm này sẽ trả về Value . Như vậy phải điều chỉnh hàm này lại như thế nào cho đúng trong trường hợp này , nhờ được giúp đỡ ,xin cảm ơn.
 
Nếu có cell nào đó không có điểm ( rỗng - Thực tế có những học sinh được miễn môn học ví dụ môn Thể dục , môn nhạc ,... vì lý do nào đó) , thì kết quả khi dùng hàm này sẽ trả về Value . Như vậy phải điều chỉnh hàm này lại như thế nào cho đúng trong trường hợp này , nhờ được giúp đỡ ,xin cảm ơn.
Chỉnh lại code đây:
PHP:
Function JoinIf2(VungDK As Range, DK As String, VungKQ As Range, Optional PC As String = "") As String
   Dim i As Long, Temp As String
   For i = 1 To VungDK.Count
     If VungDK(i) <> "" Then
       If Evaluate(VungDK(i) & DK) Then Temp = Temp & PC & VungKQ(i)
     End If
   Next i
   If Temp = "" Then
     JoinIf2 = ""
   Else
     JoinIf2 = Mid(Temp, Len(PC) + 1, Len(Temp) - Len(PC))
   End If
End Function
Nói thêm: File của bạn bị nhiễm virus nhé! Nếu bạn vẫn chưa biết điều này thì chúng tỏ rằng toàn bộ file Excel trên máy bạn đều đã bị nhiểm (thử vào menu Format\Sheet\Unhide xem có 1 sheet mang tên XL4Poppy hay không?)
 

File đính kèm

Lần chỉnh sửa cuối:
Trả kết quả theo điều kiện Trả Lời Ðề Tài

Chỉnh lại code đây:
PHP:
Function JoinIf2(VungDK As Range, DK As String, VungKQ As Range, Optional PC As String = "") As String
   Dim i As Long, Temp As String
   For i = 1 To VungDK.Count
     If VungDK(i) <> "" Then
       If Evaluate(VungDK(i) & DK) Then Temp = Temp & PC & VungKQ(i)
     End If
   Next i
   If Temp = "" Then
     JoinIf2 = ""
   Else
     JoinIf2 = Mid(Temp, Len(PC) + 1, Len(Temp) - Len(PC))
   End If
End Function
Nói thêm: File của bạn bị nhiễm virus nhé! Nếu bạn vẫn chưa biết điều này thì chúng tỏ rằng toàn bộ file Excel trên máy bạn đều đã bị nhiểm (thử vào menu Format\Sheet\Unhide xem có 1 sheet mang tên XL4Poppy hay không?)
Đúng là file đã nhiễm , nhưng diệt marco này khó quá , anh ndu96081631 hướng dẫn giúp cách diệt hiệu quả hơn (dùng ASAP-UTILITIES xóa nhưng vẫn không hết )
 
Đúng là file đã nhiễm , nhưng diệt marco này khó quá , anh ndu96081631 hướng dẫn giúp cách diệt hiệu quả hơn (dùng ASAP-UTILITIES xóa nhưng vẫn không hết )
Cũng chẳng khó khăn gì, bằng tay cũng diệt được! Bạn làm như sau:
- Đóng toàn bộ Excel
- Search tìm trên ổ C, từ khóa XLSTART
- Nếu tìm thấy thư mục này thì duyệt vào và xóa mọi thứ bên trong nó (có bao nhiêu thư mục, nhớ duyệt hết)
- Kể từ bây giờ, mổi khi mở bất cứ file Excel nào, nhớ Disable macro nếu có thông báo
- Vào menu Format\Sheet\Unhide, chọn vào sheet ẩn, bấm OK ---> Tiếp theo xóa luôn sheet ẩn này (nếu sheet không phải do bạn tạo ra)
- Bấm Ctrl + F3, xóa toàn bộ name có bên trong (trừ name của bạn)
- Đóng và lưu file
Vì tất cả file Excel đều bị nhiễm nên mổi khi mở file nào, bạn chịu khó thao tác giống như tôi trình bày ở trên, bảo đãm nó sẽ "sạch"
 
Web KT

Bài viết mới nhất

Back
Top Bottom