Hàm tra cứu đơn giá với 4 điều kiện trong đó (3 đk là tuyệt đối; 1 đk là tương đối) (1 người xem)

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

Nguyễn Hồng Quang

Thành viên GPE Hà Nội
Tham gia
8/6/07
Bài viết
1,203
Được thích
877
Giới tính
Nam
Nghề nghiệp
Kế toán
Đầu năm con gà chúc cả nhà và các thầy sức khỏe dồi dào
Mình có 1 vấn đề tra cứu tìm đơn giá của các mặt hàng theo 4 điều kiện trong đó (3 điều kiện đầu là tuyệt đối gồm: mã hàng, mã NCC, Phiếu nhập và điều kiện Ngày tháng là tương đối)
Vì điều kiện tra cứu ngày tháng là luôn thay đổi (lúc thì lớn hơn ngày nhập cuối cùng; lúc thì nằm trong khoảng thời gian nhập; lúc lại nhỏ hơn ngày nhập đầu tiên) nên mình đau đầu không nghĩ ra nổi 1 hàm tổng quát để sử dụng khi cần tra cứu.
Rất mong các thầy giúp đỡ.
Mình xin gửi kèm file để tiện theo dõi
 

File đính kèm

Đầu năm con gà chúc cả nhà và các thầy sức khỏe dồi dào
Mình có 1 vấn đề tra cứu tìm đơn giá của các mặt hàng theo 4 điều kiện trong đó (3 điều kiện đầu là tuyệt đối gồm: mã hàng, mã NCC, Phiếu nhập và điều kiện Ngày tháng là tương đối)
Vì điều kiện tra cứu ngày tháng là luôn thay đổi (lúc thì lớn hơn ngày nhập cuối cùng; lúc thì nằm trong khoảng thời gian nhập; lúc lại nhỏ hơn ngày nhập đầu tiên) nên mình đau đầu không nghĩ ra nổi 1 hàm tổng quát để sử dụng khi cần tra cứu.
Rất mong các thầy giúp đỡ.
Mình xin gửi kèm file để tiện theo dõi
Mã:
E5 =IFERROR(LOOKUP(2,1/(A5=OFFSET('Data Nhap xuat'!$A$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5)))/(B5=OFFSET('Data Nhap xuat'!$B$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5)))/(C5=OFFSET('Data Nhap xuat'!$C$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5))),OFFSET('Data Nhap xuat'!$E$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5))),--SUBSTITUTE(VLOOKUP(A5&B5&C5,'Data Nhap xuat'!$A$2:$A$27&'Data Nhap xuat'!$B$2:$B$27&'Data Nhap xuat'!$C$2:$E$27,3,0),A5&B5,""))
Ctrl+Shift+Enter
 
Lần chỉnh sửa cuối:
Xin cảm ơn sự giúp đỡ của thầy
Đau đầu uống panadol cũng ko thể khỏi nhanh bằng đoạn code của thầy
Xin hỏi thêm 1 chút thầy sử dụng Iferror để áp đặt cho trường hợp cuối cùng là để trả về đơn giá của ngày nhập đầu tiên khi ngày tra cứu =0 hoặc Blank có phải không ạ
 
Lần chỉnh sửa cuối:
Xin cảm ơn sự giúp đỡ của thầy
Đau đầu uống panadol cũng ko thể khỏi nhanh bằng đoạn code của thầy
nếu muốn Enter bình thường thì thêm hàm Index
Mã:
 =IFERROR(LOOKUP(2,1/(A5=OFFSET('Data Nhap xuat'!$A$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5)))/(B5=OFFSET('Data Nhap xuat'!$B$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5)))/(C5=OFFSET('Data Nhap xuat'!$C$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5))),OFFSET('Data Nhap xuat'!$E$2,,,COUNTIF('Data Nhap xuat'!$D$2:$D$27,"<="&D5))),--SUBSTITUTE(VLOOKUP(A5&B5&C5,INDEX('Data Nhap xuat'!$A$2:$A$27&'Data Nhap xuat'!$B$2:$B$27&'Data Nhap xuat'!$C$2:$E$27,),3,0),A5&B5,""))
 
Xin hỏi thêm 1 chút thầy sử dụng Iferror để áp đặt cho trường hợp cuối cùng là để trả về đơn giá của ngày nhập đầu tiên khi ngày tra cứu =0 hoặc Blank có phải không ạ
 
Xin hỏi thêm 1 chút thầy sử dụng Iferror để áp đặt cho trường hợp cuối cùng là để trả về đơn giá của ngày nhập đầu tiên khi ngày tra cứu =0 hoặc Blank có phải không ạ
đúng rồi, áp dụng cho tường hợp thứ 3, cụ thể thời gian xét không nằm trong vùng dữ liệu(có trước, bỏ trống, hay bị sai) lúc đó sẽ tìm từ đầu xuống dưới, còn bình thường thì tìm từ ngày xét trở lên
 

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

Back
Top Bottom