Lấy dữ liệu theo tháng, ngày

Liên hệ QC

nero24

Thành viên mới
Tham gia
9/10/09
Bài viết
18
Được thích
0
Mình có một folder CSDL như sau:
1.jpg
Trong folder mỗi tháng là 2 file chứa dữ liệu MC1-Jan, MC2-Jan tương ứng với tháng 1. MC1-Feb, MC2-Feb tương ứng với tháng 2......
Mỗi file MC1 & MC2 thì lại có 31 sheet tương ứng với 31 ngày của tháng.
File Rocord để lấy dữ liệu khi cần. Khi nhập tháng, ngày vào file Reocrd thì sẽ cho ra dữ liệu của 2 file MC1, MC2 tương ứng với ngày và tháng đã nhập

Mình sử dụng hàm If nhưng chỉ lọc được dữ liệu các ngày trong tháng, khi cần lấy dữ liệu của tháng khác thì phải sữ lại hàm If rất tốn thời gian
Đây là công thức tại ô B3
Mã:
=
IF(D1=1,'[MC1-Jan.xlsx]01'!$B$1,
IF(D1=2,'[MC1-Jan.xlsx]02'!$B$1,
IF(D1=3,'[MC1-Jan.xlsx]03'!$B$1,
IF(D1=4,'[MC1-Jan.xlsx]04'!$B$1,
IF(D1=5,'[MC1-Jan.xlsx]05'!$B$1,
IF(D1=6,'[MC1-Jan.xlsx]06'!$B$1,
IF(D1=7,'[MC1-Jan.xlsx]07'!$B$1,
IF(D1=8,'[MC1-Jan.xlsx]08'!$B$1,
IF(D1=9,'[MC1-Jan.xlsx]09'!$B$1,
IF(D1=10,'[MC1-Jan.xlsx]10'!$B$1,
IF(D1=11,'[MC1-Jan.xlsx]11'!$B$1,
IF(D1=12,'[MC1-Jan.xlsx]12'!$B$1,
IF(D1=13,'[MC1-Jan.xlsx]13'!$B$1,
IF(D1=14,'[MC1-Jan.xlsx]14'!$B$1,
IF(D1=15,'[MC1-Jan.xlsx]15'!$B$1,
IF(D1=16,'[MC1-Jan.xlsx]16'!$B$1,
IF(D1=17,'[MC1-Jan.xlsx]17'!$B$1,
IF(D1=18,'[MC1-Jan.xlsx]18'!$B$1,
IF(D1=19,'[MC1-Jan.xlsx]19'!$B$1,
IF(D1=20,'[MC1-Jan.xlsx]20'!$B$1,
IF(D1=21,'[MC1-Jan.xlsx]21'!$B$1,
IF(D1=22,'[MC1-Jan.xlsx]22'!$B$1,
IF(D1=23,'[MC1-Jan.xlsx]23'!$B$1,
IF(D1=24,'[MC1-Jan.xlsx]24'!$B$1,
IF(D1=25,'[MC1-Jan.xlsx]25'!$B$1,
IF(D1=26,'[MC1-Jan.xlsx]26'!$B$1,
IF(D1=27,'[MC1-Jan.xlsx]27'!$B$1,
IF(D1=28,'[MC1-Jan.xlsx]28'!$B$1,
IF(D1=29,'[MC1-Jan.xlsx]29'!$B$1,
IF(D1=30,'[MC1-Jan.xlsx]30'!$B$1,
IF(D1=31,'[MC1-Jan.xlsx]31'!$B$1,))))))))))))))))))))))))))))))))
 

File đính kèm

  • 2017.zip
    414.2 KB · Đọc: 9
  • Rocord.xlsx
    10.9 KB · Đọc: 10
  • MC1-Jan.xlsx
    29.7 KB · Đọc: 11
Nhìn cái chỗ đóng ngoặc hàm if))))))))))))))))))))))))) thấy tội quá ;;;;;;;;;;; (mà sao các cao thủ khác không ra tay cứu giúp người ta, để cứ phải đóng ngoặc rồi mở ngoặc loằng tà ngoằng thế)
Cái này bạn thử dùng kết hợp dùng hàm indirect chắc sẽ tiết kiệm thời gian hơn đấy
Mình làm tạm công thức này bạn thử dùng nhé:
Tại ô B3 file Rocord
=IFERROR(VLOOKUP($A3;INDIRECT("'["&B$2&"-"&$B$1&".xlsx]"&IF($D$1<10;"0"&$D$1;$D$1)&"'"&"!$A:$B");2;0);0)
Rồi fill xuống
Tại ô C3 file Rocord
=IFERROR(VLOOKUP($A3;INDIRECT("'["&C$2&"-"&$B$1&".xlsx]"&IF($D$1<10;"0"&$D$1;$D$1)&"'"&"!$A:$B");2;0);0)
Rồi fill xuống
(Để công thức này hoạt động bạn phải mở file MC1-Jan và MC2-Jan để excel nhặt dữ liệu nhé, nếu ko đáp số chỉ toàn là 0 thôi đấy)

Cách sử dụng hàm indirect bạn đọc ở Tab Trang chủ bài của Kyo
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom