Lấy dữ liệu theo tháng, ngày (2 người xem)

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

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

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

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

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

Back
Top Bottom