Các câu hỏi về hàm dò tìm dữ liệu (Lookup, Vlookup, Hlookup...)

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

Closed poll

  • 1

    Votes: 1 100.0%
  • 2

    Votes: 0 0.0%

  • Total voters
    1
  • Poll closed .
Status
Không mở trả lời sau này.
Cảm ơn sự giúp đỡ của bạn rất nhiều, kết quả như mình mong đợi.
Bạn có thể hỗ trợ the7m cho mình code của nút Save trong file đính kèm không ?

Mình chưa hiểu ý nghĩa của nút SAVE lắm. Nếu là save file thông thường thì đã có nút Save trên thanh Manu rồi, hay bạn muốn khi nhấn nút Save thì sẽ lấy dữ liệu điền vào sheet FINAL?
 
1 vấn đề về Vlookup

Cho tôi hỏi: lỗi này thì phải khắc phục như thế nào, khi định dạng của dữ liệu vào đầu tiên hàm Vlookup là 1 định dạng số chứ không phải text
 

File đính kèm

Cho tôi hỏi: lỗi này thì phải khắc phục như thế nào, khi định dạng của dữ liệu vào đầu tiên hàm Vlookup là 1 định dạng số chứ không phải text
Công thức của bạn đang là:
=VLOOKUP(RIGHT(B3,1),F15:G16,2,0)​
Nó báo #NA! vì hàm RIGHT trả về giá trị chuỗi, và không thể lấy chuỗi đi dò với số.

Vậy thì bạn chuyển kết quả của RIGHT thành số, bằng nhiều cách: nhân với 1, cộng với 0, luỹ thừa 1, v.v... Nói chung là một phép tính gì đó mà không làm thay đổi giá trị.

Công thức của bạn có thể sửa như sau:

=VLOOKUP(RIGHT(B3)*1,F15:G16,2,0)

=VLOOKUP(RIGHT(B3)^1,F15:G16,2,0)

=VLOOKUP(RIGHT(B3)+0,F15:G16,2,0)

v.v...​
 
Cho tôi hỏi: lỗi này thì phải khắc phục như thế nào, khi định dạng của dữ liệu vào đầu tiên hàm Vlookup là 1 định dạng số chứ không phải text
Nhân thêm 1 ở trước hàm RIGHT là ăn tiền:
PHP:
=VLOOKUP(1*RIGHT(B3,1),F15:G16,2,0)
 
Giúp mình sử dụng hàm VLOOKUP trong trường hợp này

Mình nghĩ dùng hàm VLOOKUP kết hợp hàm IF và AND nhưng mình không rành về thao tác mong nhận được sự giúp đỡ của mọi người
Xin xem File đính kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn chép hai công thức bên dưới vào đúng vị trí rồi Fill xuống là được.
PHP:
[J7]=VLOOKUP(LEFT(B7,1),Bảng!$C$14:$F$16,(ROUNDUP((E7/10),0)+1),0)
[K7]=VLOOKUP(RIGHT(B7,1),Bảng!$C$21:$D$23,2)*J7
Thân.
 
Bạn chép hai công thức bên dưới vào đúng vị trí rồi Fill xuống là được.
PHP:
J7=VLOOKUP(LEFT(B7,1),Bảng!$C$14:$F$16,(ROUNDUP((E7/10),0)+1),0)
Công thức này chưa đúng đâu nha! Thử cho Trọng lượng >30 xem nó ra cái gì
Cái này đây:
PHP:
=VLOOKUP(LEFT($B7),Bảng!$C$12:$F$16,MIN(INT(($E7-1)/10)+2,4),0)
 
Sorry! Sơ xuất quá! Hiiii
PHP:
=VLOOKUP(LEFT(B7,1),Bảng!$C$14:$F$16,MIN(ROUNDUP((E7/10),0)+1,4),0)
Thân.
 
Các bạn cho mình xin cái link nói về hàm MIN và ROUNDUP luôn nha ,cám ơn nhiều
 
ndu96081631 đã viết:
Công thức này chưa đúng đâu nha! Thử cho Trọng lượng >30 xem nó ra cái gì
Cái này đây:
=VLOOKUP(LEFT($B7), Bảng!$C$12:$F$16, MIN(INT(($E7-1)/10)+2, 4), 0)
Hì hì, anh ndu96081631 ngừa đầu trên mà quên trừ đầu dưới.
Thử cho trọng lượng <1kg xem nó ra gì nha (gửi thư đi Mỹ, có mấy lạng à anh ơi, với lại bên bảng 1, họ nói là từ 0 cho đến 10, thì mình phải tính từ 0 chớ...)

Cái này nè:
=VLOOKUP(LEFT($B7), Bảng!$C$12:$F$16, MAX(2, MIN(INT(($E7-1)/10)+2, 4)), 0)​
Của Pi_Kachu cũng vậy:
=VLOOKUP(LEFT(B7,1), Bảng!$C$14:$F$16, MAX(2, MIN(ROUNDUP((E7/10),0)+1,4)), 0)​



Các bạn cho mình xin cái link nói về hàm MIN và ROUNDUP luôn nha ,cám ơn nhiều
Bạn nhấn vào mục Tra cứu Hàm Excel ở dưới chữ ký của tôi, có đủ hết, không thiếu một hàm nào.
 
Lần chỉnh sửa cuối:
Trong bài này mình còn một số câu chưa giải quyết được mong được chỉ giáo
1)Tính cột VND=tổng cộng theo ngoại tệ *Tỷ giá
2)Rút trích danh sách(kèm bảng kết quả chi tiết )những bưu phẩm gửi đi Mỹ có trọng lượng 15kg trở lên
3)Rút trích danh sách(kèm bảng kết quả chi tiết )những bưu phẩm có số tiền phải trả VNĐ trong khoảng từ 100000 đến 150000
Chú ý :Điều kiện ,kết quả rút trích được thể hiện trên những vùng riêng biệt
4)Thống kê tổng tiền theo từng địa điểm và vẽ đồ thị cột
5)thống kê hiệu suất khai thác bưu cước ở từng quốc gia .Vẽ đồ thị tròn (pie-chart)
Xin chân thành cảm ơn
 
Hì hì, anh ndu96081631 ngừa đầu trên mà quên trừ đầu dưới.
Thử cho trọng lượng <1kg xem nó ra gì nha (gửi thư đi Mỹ, có mấy lạng à anh ơi, với lại bên bảng 1, họ nói là từ 0 cho đến 10, thì mình phải tính từ 0 chớ...)
.
Tất nhiên tôi biết điều này... và công thức tôi tạo ra là do "nhìn" vào dự liệu thật
- Thứ nhất: Điều kiện nói rằng TL luôn >0
- Thứ hai: "nhìn" dử liệu ta thấy nó là số nguyên dương (tức nhỏ nhất là 1)
Ẹc... Ẹc...
 
Vậy bác test dùm em công thức này đạt chuẩn chưa!
PHP:
=VLOOKUP(LEFT(B7,1),Bảng!$C$14:$F$16,MAX((E7>0)+(E7>10)+(E7>20)+1,2),0)
Heeee
Thân.
 
Lần chỉnh sửa cuối:
Hàm Vlookup với 5 điều kiện

Gửi các bạn nghiên cứu hàm tự tạo "Vlookup với 5 điều kiện" mình sưu tầm được, nó sẽ giúp ích cho các bạn khi cần vì thông thường ta phải dùng Sumproduct để thay thế rất nặng.

Mã:
Function Five_Con_Vlookup(Table_Range As Range, Return_Col As Long, Col1_Fnd, Col2_Fnd, Col3_Fnd, Col4_Fnd, Col5_Fnd)
     ''EXCEL 2003 OR ABOVE
     ''WRITTEN BY OZGRID.COM
    Dim rCheck As Range, bFound As Boolean, lLoop As Long
     
    On Error Resume Next
    Set rCheck = Table_Range.Columns(1).Cells(1, 1)
    With WorksheetFunction
        For lLoop = 1 To .CountIf(Table_Range.Columns(1), Col1_Fnd)
            Set rCheck = Table_Range.Columns(1).Find(Col1_Fnd, rCheck, xlValues, xlWhole, xlNext, xlRows, False)
            If UCase(rCheck(1, 2)) = UCase(Col2_Fnd) And _
            UCase(rCheck(1, 3)) = UCase(Col3_Fnd) And _
            UCase(rCheck(1, 4)) = UCase(Col4_Fnd) And _
            UCase(rCheck(1, 5)) = UCase(Col5_Fnd) Then
                bFound = True
                Exit For
            End If
        Next lLoop
    End With
     
    If bFound = True Then
        Five_Con_Vlookup = rCheck(1, Return_Col)
    Else
        Five_Con_Vlookup = "#N/A"
    End If
End Function
 

File đính kèm

Bạn xem file đính kèm nhé
 

File đính kèm

Em chỉ cần tính lương trên và dưới 5tr thôi, vì Công ty Em không ai quá 10tr cả! Các Bác giúp em 1 Công thức cụ thể! **~**
 
Gửi các bạn nghiên cứu hàm tự tạo "Vlookup với 5 điều kiện" mình sưu tầm được, nó sẽ giúp ích cho các bạn khi cần vì thông thường ta phải dùng Sumproduct để thay thế rất nặng.

Mã:
Function Five_Con_Vlookup(Table_Range As Range, Return_Col As Long, Col1_Fnd, Col2_Fnd, Col3_Fnd, Col4_Fnd, Col5_Fnd)
     ''EXCEL 2003 OR ABOVE
     ''WRITTEN BY OZGRID.COM
    Dim rCheck As Range, bFound As Boolean, lLoop As Long
     
    On Error Resume Next
    Set rCheck = Table_Range.Columns(1).Cells(1, 1)
    With WorksheetFunction
        For lLoop = 1 To .CountIf(Table_Range.Columns(1), Col1_Fnd)
            Set rCheck = Table_Range.Columns(1).Find(Col1_Fnd, rCheck, xlValues, xlWhole, xlNext, xlRows, False)
            If UCase(rCheck(1, 2)) = UCase(Col2_Fnd) And _
            UCase(rCheck(1, 3)) = UCase(Col3_Fnd) And _
            UCase(rCheck(1, 4)) = UCase(Col4_Fnd) And _
            UCase(rCheck(1, 5)) = UCase(Col5_Fnd) Then
                bFound = True
                Exit For
            End If
        Next lLoop
    End With
     
    If bFound = True Then
        Five_Con_Vlookup = rCheck(1, Return_Col)
    Else
        Five_Con_Vlookup = "#N/A"
    End If
End Function
nếu số lượng điều kiện không bị khống chế là 5,có thể 2,3,4 tùy theo thì hay biết mấy và tên công thức ngắn gọn 1 chút cho dễ sử dụng.Bác nào ra tay cho anh em được nhờ nhé
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom