thay thế hàm if kết hợp hàm vlookup (1 người xem)

Liên hệ QC

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

Rùa Con 1080

Thành Viên Sao Chép 2
Tham gia
4/5/16
Bài viết
351
Được thích
47
Giới tính
Nữ
Chào mọi người!
Em có file này (excel2003),ở sheet"xuat"nhờ các anh chị giúp thay thế hàm if kết hợp với hàm vlookup bằng hàm khác (cột M và N) (em thấy nó sao sao ấy). Và ở sheet"ton" thay dùm em hàm khác ở cột "E,F,G"
Nếu được, mong các anh chị giúp luôn cho sheet"baocao", khi gỏ ngày vào "E3" (từ ngày) và "G3" (đến ngày) thì hiện ra bảng báo cáo theo tên nguyên phụ liệu.
 

File đính kèm

Mong các anh chị giúp em thay công thức ở sheet "xuat" bằng công thức khác, vì có thể dữ liệu sẽ rất nhiều dòng, và giúp em sheet "baocao" với (ở sheet này chắc phải dùng VBA)
 
mong các anh chị giúp em với!!
 
Mình thực thi việc này:
Nếu được, mong các anh chị giúp luôn cho sheet"baocao", khi gỏ ngày vào "E3" (từ ngày) và "G3" (đến ngày) thì hiện ra bảng báo cáo theo tên nguyên phụ liệu.

Bạn kiểm tra số liệu thử nha.
 

File đính kèm

Cám ơn Anh Hoang2013, em làm file trên ở Excel 2010 và Save As lại thành Excel 2003 để gửi cho nhỏ bạn, nhưng khổ nỗi Excel 2003 không có Table, nên em sợ dữ liệu nhiều thì tham chiếu không hết (trong file em dùng địa chỉ tuyệt đối.) Nên nhờ anh và mọi người có thể thay công thức của em bằng công thức khác (giống name động) để dữ liệu tới đâu thì tham chiếu tới đó.
Em cám ơn mọi người.
 
Em có file này (excel2003),ở sheet"xuat"nhờ các anh chị giúp thay thế hàm if kết hợp với hàm vlookup bằng hàm khác (cột M và N) (em thấy nó sao sao ấy).
Và ở sheet"ton" thay dùm em hàm khác ở cột "E,F,G"

Những vấn đề này cũng nên chuyển sang VBA thực thi số liệu cho bạn, một khi số liệu tăng lên nhiều.

Để vậy, ta có thể thực hiện 1 vài cách, trong đó có thể mở bộ thu macro & ghi lại cách xài hàm VLOOKUP() để điền số liệu các cột này.

Bạn thử trước xem sao.
 
Mong anh Hoang2013 giúp em, chứ em có biết VBA đâu!
 
Giờ chưa biết, sau này sẽ fải biết thôi!
Bạn thực hiện lần lượt các bước sau:
(1) Fải chuột vô trang tính 'Xuat' & chọn dòng 'View Code'
(2) Bạn chép toàn bộ cái ni vô cửa sổ vừa xuất hiện:
PHP:
Const Rws As Long = 9999
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim CSDL As Range, WF As Object
 On Error Resume Next
 Set WF = Application.WorksheetFunction
 Set CSDL = [B2].CurrentRegion
 If Not Intersect(Target, [K2].Resize(Rws)) Then
    If Target.Cells.Count = 1 And Target.Value > 0 Then
        Target.Offset(, 2).Value = Target.Value * WF.VLookup(Target.Offset(, -3).Value, CSDL, 4, False)
    End If
 End If
 If Not Intersect(Target, [L2].Resize(Rws)) Then
    If Target.Cells.Count = 1 And Target.Value > 0 Then
        Target.Offset(, 2).Value = Target.Value * WF.VLookup(Target.Offset(, -4).Value, CSDL, 5, False)
    End If
 End If
End Sub
(3) Thử macro:
- Chọn [K2] & nhấn {ENTER} để xem kết quả nào đã thay bỡi macro;

Chúc thành công trong ngày!
 
Cám Ơn Anh Hoang2013, em chỉ biết copy code của các anh chị làm cho, chép vào thôi, chứ chả tự làm được (Thành Viên Sao Chép 2).
Chúc Anh NGÀY THỨ BẢY VUI VẺ.
 
Anh Hoang2013 Ơi, sao em chọn K2 sheet xuat, nhấn Enter chả thấy thay đổi gì????
 
{ENTER} ở [K2] thì ô bên fải nào đó của nó sẽ có số liệu mới, nếu bạn cho fép macro 'chạy'
 
Mong anh Hoang2013 và mọi người có thể chỉnh lại file để không còn dùng công thức nữa.
Trong sheet "BaoCao" anh Hoang2013 có dùng "Vlookup" bây giờ không dùng "Vlookup" mà vẫn bào cáo theo ngày được không ah?
Và trong sheet "Nhap" và "Ton" viết code luôn không dùng hàm nữa.
Vì file này sẽ dùng lâu dài, có thể 5 -> 10 năm ah.
 

File đính kèm

Mong anh Hoang2013 giúp em, không dung hàm nữa.
 

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

Back
Top Bottom