Hàm lấy giá trị theo bảng dữ liệu có sẵn! (1 người xem)

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

vandong1710

Thành viên mới
Tham gia
8/10/09
Bài viết
23
Được thích
0
Mình có bảng tổng hợp giá trị excel cần lấy giá trị theo bảng dữ liệu có sẵn (đính kèm file). Mong mọi người giúp đỡ!!Xin cảm ơn nhiều!!
 

File đính kèm

Mình có bảng tổng hợp giá trị excel cần lấy giá trị theo bảng dữ liệu có sẵn (đính kèm file). Mong mọi người giúp đỡ!!Xin cảm ơn nhiều!!
Bạn thử:

Mã:
K2=OFFSET($A$2,SMALL(IF($A$3:$A$502<>"",ROW($1:$500)),COLUMN(A$1)),)
Ctrl+Shift+Enter kéo qua phải
Mã:
K3=VLOOKUP(K$2,$A$3:$E$458,4,0)
Và:
K4=VLOOKUP(K$2,$A$3:$E$458,5,0)
Enter kéo qua phải

Bạn xem file kèm.

Chúc bạn ngày vui.
 

File đính kèm

Mình có bảng tổng hợp giá trị excel cần lấy giá trị theo bảng dữ liệu có sẵn (đính kèm file). Mong mọi người giúp đỡ!!Xin cảm ơn nhiều!!
Chào bạn,
Bạn tham khảo công thức dưới đây:
Pmin: =IFERROR(VLOOKUP(K2,$A$3:$E$458,4,0),"")
Pmax: =IFERROR(VLOOKUP(K2,$A$3:$E$458,5,0),"")
Ở phần ngày do bạn đang để là Văn bản nền để làm công thức lọc thì rất vất vả. Bạn có thể tìm hiểu về chức năng Remove Duplicates -> sau đó pate Tranpose để trở về hàng ngang nhé.
 

File đính kèm

Mình có bảng tổng hợp giá trị excel cần lấy giá trị theo bảng dữ liệu có sẵn (đính kèm file). Mong mọi người giúp đỡ!!Xin cảm ơn nhiều!!
Liệt kê giá trị ngày với dữ liệu cách khoảng không khó, bạn có thể sử dụng công thức mảng như bài #2.
Nếu bạn không thích nhấn Ctrl+Shift+Enter, thì dùng công thức mảng sau mà không nhấn tổ hợp phím này.
Mã:
K2=IFERROR(INDEX($A$3:$A$502,MATCH(0,INDEX(COUNTIF($J$2:J2,$A$3:$A$502)+($A$3:$A$502=""),),)),"")
Enter, rồi fill qua phải.

Bạn xem file kèm.

Chúc bạn ngày vui.
 

File đính kèm

Bạn thử:

Mã:
K2=OFFSET($A$2,SMALL(IF($A$3:$A$502<>"",ROW($1:$500)),COLUMN(A$1)),)
Ctrl+Shift+Enter kéo qua phải
Mã:
K3=VLOOKUP(K$2,$A$3:$E$458,4,0)
Và:
K4=VLOOKUP(K$2,$A$3:$E$458,5,0)
Enter kéo qua phải

Bạn xem file kèm.

Chúc bạn ngày vui.

Công thức của bạn rất hay, mình muốn học hỏi them nên cũng bài toán này nhưng giả sử không tính sẵn Pmin, Pmax, tức là không có cột D, E vẫn yêu cầu lấy Pmin, Pmax theo ngày thì công thức thế nào bạn?

Cảm ơn bạn nhiều
 
Công thức của bạn rất hay, mình muốn học hỏi them nên cũng bài toán này nhưng giả sử không tính sẵn Pmin, Pmax, tức là không có cột D, E vẫn yêu cầu lấy Pmin, Pmax theo ngày thì công thức thế nào bạn?
Cảm ơn bạn nhiều
bạn dùng công thức
Mã:
=MIN(INDEX($C$3:$C$458,MATCH(K$2,$A$3:$A$458,0)):INDEX($C$3:$C$458,IFERROR(MATCH(L$2,$A$3:$A$458,0)-1,458-2)))
=MAX(INDEX($C$3:$C$458,MATCH(K$2,$A$3:$A$458,0)):INDEX($C$3:$C$458,IFERROR(MATCH(L$2,$A$3:$A$458,0)-1,458-2)))
 
bạn dùng công thức
Mã:
=MIN(INDEX($C$3:$C$458,MATCH(K$2,$A$3:$A$458,0)):INDEX($C$3:$C$458,IFERROR(MATCH(L$2,$A$3:$A$458,0)-1,458-2)))
=MAX(INDEX($C$3:$C$458,MATCH(K$2,$A$3:$A$458,0)):INDEX($C$3:$C$458,IFERROR(MATCH(L$2,$A$3:$A$458,0)-1,458-2)))
Hay quá bạn hiền, mở rộng tầm mắt. }}}}}}}}}}}}}}}
Mình cũng muốn giới thiệu 1 đoạn công thức mảng tìm giá trị ngày cách khoảng, nhưng sẽ tạo ra 1 mảng trong bộ nhớ điền giá trị lấy phía trên xuống, tức nó sẽ điền đầy đủ ngày tháng cho các ô trống đã bị merge cell, bạn xem thử (Evaluate formula)
/-*+//-*+//-*+/

Công thức của bạn rất hay, mình muốn học hỏi them nên cũng bài toán này nhưng giả sử không tính sẵn Pmin, Pmax, tức là không có cột D, E vẫn yêu cầu lấy Pmin, Pmax theo ngày thì công thức thế nào bạn?
Cảm ơn bạn nhiều

Bạn dùng công thức mảng, xem thử:
Mã:
F3=IFERROR(MIN(IF(N(OFFSET($A$2,SMALL(IF($A$3:$A$458<>"",ROW($1:$456)),COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")),))=--F$2,($C$3:$C$458),"")),0)
F4=IFERROR(MAX(IF(N(OFFSET($A$2,SMALL(IF($A$3:$A$458<>"",ROW($1:$456)),COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")),))=--F$2,($C$3:$C$458),"")),0)
Ctrl+Shift+Enter

Bạn xem file kèm.

Chúc bạn ngày vui.
 

File đính kèm

Hay quá bạn hiền, mở rộng tầm mắt. }}}}}}}}}}}}}}}
Mình cũng muốn giới thiệu 1 đoạn công thức mảng tìm giá trị ngày cách khoảng, nhưng sẽ tạo ra 1 mảng trong bộ nhớ điền giá trị lấy phía trên xuống, tức nó sẽ điền đầy đủ ngày tháng cho các ô trống đã bị merge cell, bạn xem thử (Evaluate formula)
/-*+//-*+//-*+/
Bạn dùng công thức mảng, xem thử:
Mã:
F3=IFERROR(MIN(IF(N(OFFSET($A$2,SMALL(IF($A$3:$A$458<>"",ROW($1:$456)),COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")),))=--F$2,($C$3:$C$458),"")),0)
F4=IFERROR(MAX(IF(N(OFFSET($A$2,SMALL(IF($A$3:$A$458<>"",ROW($1:$456)),COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")),))=--F$2,($C$3:$C$458),"")),0)
Ctrl+Shift+Enter
Bạn xem file kèm.
Chúc bạn ngày vui.
công thức quá hay, lấp đầy các giá trị trống trong merge cell, mình đọc chỉ hiểu được 1 phần !$@!!
lợi dụng cách tính ô F2, mình rút gọn lại một chút
Mã:
=IFERROR(MIN(IF(COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")=COLUMN(A1),($C$3:$C$458),"")),0)
=IFERROR(MAX(IF(COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")=COLUMN(A1),($C$3:$C$458),"")),0)
Ctrl+Shift+Enter
chúc bạn một ngày vui }}}}}}}}}}}}}}}
 
công thức quá hay, lấp đầy các giá trị trống trong merge cell, mình đọc chỉ hiểu được 1 phần !$@!!
lợi dụng cách tính ô F2, mình rút gọn lại một chút
Mã:
=IFERROR(MIN(IF(COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")=COLUMN(A1),($C$3:$C$458),"")),0)
=IFERROR(MAX(IF(COUNTIF(OFFSET($A$3,,,ROW($1:$456),),"<>")=COLUMN(A1),($C$3:$C$458),"")),0)
Ctrl+Shift+Enter
chúc bạn một ngày vui }}}}}}}}}}}}}}}
Khà khà khà }}}}}}}}}}}}}}}

Rất mừng là bạn nhìn ra rồi đó. Áp dụng ngay vào việc phân đoạn từ 1-->18. Lợi dụng COUNTIF(...,"<>") để phân từng đoạn thích hợp để lấy giá trị, không cần phải có ngày mới ra kết quả.

Chúc bạn ngày thiệt vui./-*+//-*+//-*+/
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom