Dò tìm giá gần với ngày hiện tại

Liên hệ QC

hoangmy89

Thành viên mới
Tham gia
7/5/11
Bài viết
8
Được thích
1
Em chào các tiền bối. Em đang bị bí ngô xin chỉ dẫn giúp em.
Em có 1 file giá cho tất cả các sản phẩm nhưng thay vì mỗi lần cập nhật giá mới là sửa lại giá của sản phẩm thì cty em lại nhập thêm mã sản phẩm y hệt như vậy với giá mới và ghi chú ngày cập nhật.
Em làm hàm vlookup để dò tìm giá của sản phẩm thì kết quả là 1 giá ngẫu nhiên , em muốn công thức trả về giá có ngày cập nhật mới nhất em phải làm sao ạ?
 
làm hàm vlookup để dò tìm giá của sản phẩm thì kết quả là 1 giá ngẫu nhiên
Điêu!

Vlookup() trả về giá trị đầu tiên trong bảng dò (nếu tìm thấy).
công thức trả về giá có ngày cập nhật mới nhất
Còn phải xem nhập mới vào thì nhập vào chỗ nào?
Nếu nhập mới vào ở trên cùng của bảng -> Vlookup()
Nếu nhập mới vào ở dưới kế tiếp của bảng -> Lookup(), Aggregate()...
 
Chắc dữ liệu bạn í theo mẫu sau:
PHP:
'
Ngày         Mã HH      Đơn giá   '
1/13/2017     BN001     1234
1/15/2017     BN002     1235
1/17/2017     BN001     1236
1/19/2017     BN002     1237
1/21/2017     BN001     1238
1/23/2017     BN003     1239
1/25/2017     BN002     1240
1/27/2017     BN003     1241
1/29/2017     BN001     1242
1/31/2017     BN001    '1243 '
2/2/2017      BN010     1244
2/4/2017      BN003     '1245 '
2/6/2017      BN002     '1246 '
2/8/2017      BN010     '1247 '
. . .   . . .    . . .
 
Chắc dữ liệu bạn í theo mẫu sau:
PHP:
'
Ngày         Mã HH      Đơn giá   '
1/13/2017     BN001     1234
1/15/2017     BN002     1235
1/17/2017     BN001     1236
1/19/2017     BN002     1237
1/21/2017     BN001     1238
1/23/2017     BN003     1239
1/25/2017     BN002     1240
1/27/2017     BN003     1241
1/29/2017     BN001     1242
1/31/2017     BN001    '1243 '
2/2/2017      BN010     1244
2/4/2017      BN003     '1245 '
2/6/2017      BN002     '1246 '
2/8/2017      BN010     '1247 '
. . .   . . .    . . .
Dạ đúng vậy ạ, e muốn lấy giá của ngày31/1 cho mã BN001 là 1234 thì làm sao ạ?
 
Mình chỉ biết xài nhờ VBA thôi;
Nếu cần công thức, bạn cần đưa file giả lập lên; Sẽ có người trên cộng đồng giúp bạn.

Chúc ngày xuân vui vẻ!
 
Xét bảng dưới đây:

Untitled.png

Nếu cột A sort tăng dần, và bạn muốn tìm giá của BH001 gần nhất:

Mã:
=LOOKUP(10^10,1/($B$2:$B$13="BH001"),$C$2:$C$13)

Nếu cột A theo thứ tự bất kỳ:

Mã:
=LOOKUP(2,1/($A$2:$A$13=MAX(IF($B$2:$B$13="BH001",$A$2:$A$13,"")))/($B$2:$B$13="BH001"),$C$2:$C$13)

Ctrl-shift-enter
 
các anh chị cao thủ xem giúp em bài toán này nhé yêu cầu đặt ra là điền < hợp lệ và < loại> vào cột yêu cầu dựa trên điều kiện xét cột phòng và start day, start time, end time nếu trùng phòng trùng ngày và các khoảng giờ bị chéo nhau có nghĩ là cung giờ ngắn nằm trong cung giờ dài hơn mà là người đặt sau thì loại. Các anh chị giúp mình sử dụng bằng công thức nhé em vì mình không rành về vbacảm ơn các anh chị
 

File đính kèm

  • Bài toán về thời gian.xlsx
    10.9 KB · Đọc: 36
Dùng hàm COUNTIFS.

Ngoài lề: Bảng dữ liệu thiết kế không hợp lý, không có ghi được khách hàng lưu trú nhiều ngày

Có thể thay 3 cột : Start Date - Start Time - End Time

bằng 2 cột Start Date và End Date, trong mỗi cột này có sẵn Date+Time, như cột Timestamp
 
Dạ, file em là mỗi khách chỉ đặt trong một ngày ( ngày bắt đầu và ngày kết thúc là cùng một ngày ) chỉ chú ý đến giờ bắt đầu và giờ kết thúc , nếu thay bằng hai cột start date và end date phần time thì làm sao có thể biết được dòng nào có khoảng giờ nằm giữa khoảng giờ người đặt trước, bạn có thể giúp minh công thức countif s không , cảm ơn bạn nhiều.
 
Chào bạn phuocam và các anh chị diễn đàn, em có thêm 2 cột start time và end time , nhờ bạn phuocam và các anh chị giúp em công thức countifs em làm thử không được . em cảm ơn mọi người rất nhiều
 

File đính kèm

  • Test01.xlsx
    10.4 KB · Đọc: 11

File đính kèm

  • Bài toán về thời gian.xlsx
    11.3 KB · Đọc: 26
Dạ, em sẽ kiểm lại dữ liệu, cảm ơn bạn phuocam và bạn HieuCD nhiều lắm, cảm ơn sự giúp đỡ nhiệt tình của 2 bạn và mọi người trên diễn đàn
 
Chưa hiểu ý @HieuCD , Trong file bạn test:
Phòng 09F-R1 ngày 26/2/2018:
Dòng 2 thời gian đặt phòng sớm hơn dòng 3 và dòng 4 -> 17:01:19 so với 17:02:39 và 17:03: 19
Dòng 2 nhận phòng tử 8:00 đến 17:30
Dòng 3 nhận phòng trùng: -> tử 8:30 đến 9:30, lúc này 2 chưa trả -> Loại
Dòng 4 nhận phòng trùng: -> tử 8:00 đến 10:30, lúc này 2 chưa trả -> Loại
Không tìm ra chỗ thiếu. Mong bạn chỉ giùm. haha! :)
 
Chưa hiểu ý @HieuCD , Trong file bạn test:
Phòng 09F-R1 ngày 26/2/2018:
Dòng 2 thời gian đặt phòng sớm hơn dòng 3 và dòng 4 -> 17:01:19 so với 17:02:39 và 17:03: 19
Dòng 2 nhận phòng tử 8:00 đến 17:30
Dòng 3 nhận phòng trùng: -> tử 8:30 đến 9:30, lúc này 2 chưa trả -> Loại
Dòng 4 nhận phòng trùng: -> tử 8:00 đến 10:30, lúc này 2 chưa trả -> Loại
Không tìm ra chỗ thiếu. Mong bạn chỉ giùm. haha! :)
Dòng 2 nhận phòng từ 8:00 đến 17:30
Dòng 4 nhận phòng trùng: -> từ 8:00 PM đến 10:30 PM là từ 20:00 đến 22:30, dòng 2 đã trả phòng nên không trùng
 
Chào bạn HieuCD, bạn gíup mình bắt lỗi trường hợp bạn ghi chú "xem lại" với đúng là với số liệu bạn giả lập thì kết quả chưa đúng trường hợp bạn giả lập từ 20:00 đến 22:30 bị loại, kết quả đúng là phải chấp nhận. Bạn HieuCD giúp mình với, cảm ơn bạn và mọi người .
 
chào bạn phuocam bạn, bạn giúp mình xem lại trường hợp này với ,cảm ơn bạn nhiều
 

File đính kèm

  • Test01.xlsx
    12 KB · Đọc: 22
Web KT
Back
Top Bottom