Cách dùng hàm Excel để tìm kiếm với nhiều biến (2 người xem)

  • Thread starter Thread starter nmhanh
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Cảm ơn các anh chị em đã nhiệt tình giúp đỡ mình học hỏi rất nhiều.
Thêm một điều mình muốn học hỏi nữa, đó là hàm SUMPRODUCT chỉ trả về kết quả là dữ liệu số, nếu là dữ liệu text thì nó sẽ báo lỗi #VALUE (mình gửi kèm file minh họa).

Vậy có hàm nào để lấy dữ liệu là text không các bạn?

Xin cảm ơn nhiều.
Nói chung bài này cũng có nhiều cách lấy, nhưng với bảng dữ liệu của bạn thì hơi ......chua, trong khi chờ các cao thủ khác trợ giúp mình xin góp một cách. Trong bài mình dùng 2 name cho đỡ rối mắt trong cell chứa công thức
 

File đính kèm

Nói chung bài này cũng có nhiều cách lấy, nhưng với bảng dữ liệu của bạn thì hơi ......chua, trong khi chờ các cao thủ khác trợ giúp mình xin góp một cách. Trong bài mình dùng 2 name cho đỡ rối mắt trong cell chứa công thức

Chào bạn,

Bạn giúp mình hiểu 2 name bạn đặt (bang và ten) là tham chiếu đến vùng dữ liệu nào nhỉ? Cách thức đặt 2 name này?

Nhân đây, nếu không đặt 2 name này thì công thức đầy đủ sẽ như nào nhỉ? Mình đang loay hoay để xử lý cơ sở dữ liệu có đến 600 dòng dữ liệu theo kiểu này đấy nên rất cần giúp đỡ.

Xin cảm ơn nhiều.
 
To ConCoGia!

Nói chung bài này cũng có nhiều cách lấy, nhưng với bảng dữ liệu của bạn thì hơi ......chua, trong khi chờ các trợ giúp khác, mình xin góp một cách.

Nếu là dữ liệu của học sinh trường Nguyễn Du của '' thì xin gợi í với 'cò' hàm mảng tự tạo, như sau:

PHP:
Option Explicit
Function THDiem(Rng As Range, Ten As String)
 ReDim MDL(1 To 1, 1 To 4) As String
 Dim Cls As Range, sRng As Range:                    Dim Rws As Long
 
 Rws = Rng.Rows.Count
 Set sRng = Rng.Find(Ten, , xlFormulas, xlWhole)
 If Not sRng Is Nothing Then _
   Set Rng = Range(sRng, Rng.Cells(1, 1).Offset(Rws))
 For Each Cls In Rng
   If Cls.Value = Ten Then
      If Cls.Offset(, 4) <> "" Then MDL(1, 3) = Cls.Offset(, 4).Value
      If Cls.Offset(, 5) <> "" Then MDL(1, 1) = Cls.Offset(, 5).Value
      If Cls.Offset(, 6) <> "" Then MDL(1, 4) = Cls.Offset(, 6).Value
      If Cls.Offset(, 7) <> "" Then MDL(1, 2) = Cls.Offset(, 7).Value
   End If
 Next Cls
 THDiem = MDL
End Function

Chúc "" & các bạn vui vẻ nhân ngày nghỉ cuối tuần!
 

File đính kèm

Nếu là dữ liệu của học sinh trường Nguyễn Du của '' thì xin gợi í với 'cò' hàm mảng tự tạo, như sau:

PHP:
Option Explicit
Function THDiem(Rng As Range, Ten As String)
ReDim MDL(1 To 1, 1 To 4) As String
Dim Cls As Range, sRng As Range: Dim Rws As Long
 
Rws = Rng.Rows.Count
Set sRng = Rng.Find(Ten, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then _
Set Rng = Range(sRng, Rng.Cells(1, 1).Offset(Rws))
For Each Cls In Rng
If Cls.Value = Ten Then
If Cls.Offset(, 4) <> "" Then MDL(1, 3) = Cls.Offset(, 4).Value
If Cls.Offset(, 5) <> "" Then MDL(1, 1) = Cls.Offset(, 5).Value
If Cls.Offset(, 6) <> "" Then MDL(1, 4) = Cls.Offset(, 6).Value
If Cls.Offset(, 7) <> "" Then MDL(1, 2) = Cls.Offset(, 7).Value
End If
Next Cls
THDiem = MDL
End Function

Chúc "" & các bạn vui vẻ nhân ngày nghỉ cuối tuần!
Cám ơn Thầy đã quan tâm, nhưng cái này hổng phải của Cò, Cò đã giúp bạn í xử lý bằng hàm "xi ma chao" qua "meo meo" rồi (bảng dữ liệu rất lớn,em nhẩm sơ sơ phải cỡ 6.000 công thức, nhưng không thấy bạn í nói năng gì nữa, hôm nay nếu bạn í đọc được bài của Thầy chắc bạn í vui lắm)
Chúc Thầy những ngày cuối tuần vui vẻ
 
Web KT

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

Back
Top Bottom