Hỏi cách xác định ngày đầu tiên có dữ liệu (1 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

kingofking_hanu

Thành viên mới
Tham gia
30/11/10
Bài viết
10
Được thích
4
Giới tính
Nam
Mình có dữ liệu như sau:
Line
14-Aug​
15-Aug​
16-Aug​
17-Aug​
19-Aug​
20-Aug​
First Data Date
A
160​
213​
266​
320​
426​
533​
14-Aug​
B
190​
213​
266​
320​
426​
533​
14-Aug​
C
160​
213​
266​
320​
426​
15-Aug​
D
157​
196​
235​
313​
392​
15-Aug​
E
120​
157​
196​
235​
16-Aug​
F
160​
157​
196​
17-Aug​
Hiện tại mình muốn xác định ngày đầu tiên có dữ liệu của các chuyền như kết quả cột First Data Date nhưng không biết sử dụng công thức nào cho hợp lý. Nếu số ngày ít có thể dùng hàm if lồng nhưng nếu số ngày nhiều viết lệnh sẽ rất dài và không tối ưu. Nhờ anh/em/bạn xem và hỗ trợ mình.
Mình cảm ơn!!
 

File đính kèm

Mình có dữ liệu như sau:
Line
14-Aug​
15-Aug​
16-Aug​
17-Aug​
19-Aug​
20-Aug​
First Data Date
A
160​
213​
266​
320​
426​
533​
14-Aug​
B
190​
213​
266​
320​
426​
533​
14-Aug​
C
160​
213​
266​
320​
426​
15-Aug​
D
157​
196​
235​
313​
392​
15-Aug​
E
120​
157​
196​
235​
16-Aug​
F
160​
157​
196​
17-Aug​
Hiện tại mình muốn xác định ngày đầu tiên có dữ liệu của các chuyền như kết quả cột First Data Date nhưng không biết sử dụng công thức nào cho hợp lý. Nếu số ngày ít có thể dùng hàm if lồng nhưng nếu số ngày nhiều viết lệnh sẽ rất dài và không tối ưu. Nhờ anh/em/bạn xem và hỗ trợ mình.
Mình cảm ơn!!
Thử vầy xem sao:
H2=INDEX($B$1:$G$1,MATCH(TRUE,B2:G2>0,))

Thân
 

File đính kèm

Mình thử công thức thì bị lỗi #VALUE!
với đoạn MATCH(TRUE,B2:G2>0,) hình như còn thiếu tham số sau dấu "," đúng ko bạn?
Kết thúc công thức trên bằng Ctrl+Shift+Enter, fill xuống.

Hoặc:
H2=INDEX($B$1:$G$1,MATCH(TRUE,INDEX(B2:G2>0,),))
Chỉ Enter.

Thân
(Sao không load file xuống xem?)
 
Kết thúc công thức trên bằng Ctrl+Shift+Enter, fill xuống.

Hoặc:
H2=INDEX($B$1:$G$1,MATCH(TRUE,INDEX(B2:G2>0,),))
Chỉ Enter.

Thân
(Sao không load file xuống xem?)
1. Đúng. Mình quên công thức mảng phải Ctrl_Shift+Enter
2. Mình mới trở lại forum nên chỗ file ban đầu cứ nghĩ là file mình upload lên.
3. Kết quả ra ok.
4. Cảm ơn bạn rất nhiều.
:D
 
Mình có dữ liệu như sau:
Hiện tại mình muốn xác định ngày đầu tiên có dữ liệu của các chuyền như kết quả cột First Data Date nhưng không biết sử dụng công thức nào cho hợp lý. Nếu số ngày ít có thể dùng hàm if lồng nhưng nếu số ngày nhiều viết lệnh sẽ rất dài và không tối ưu. Nhờ anh/em/bạn xem và hỗ trợ mình.
Mình cảm ơn!!
Tiêu đề của bạn là DATE và đã được sắp xếp từ nhỏ đến lớn nên có thể dùng công thức này, chỉ Enter:

=AGGREGATE(15,6,$B$1:$G$1/(B2:G2<>""),1)

Hoặc phiên bản cao hơn:

=MINIFS($B$1:$G$1,B2:G2,"<>")
 
Tiêu đề của bạn là DATE và đã được sắp xếp từ nhỏ đến lớn nên có thể dùng công thức này, chỉ Enter:

=AGGREGATE(15,6,$B$1:$G$1/(B2:G2<>""),1)

Hoặc phiên bản cao hơn:

=MINIFS($B$1:$G$1,B2:G2,"<>")
Cảm ơn Phuocam thật nhiều. Hàm AGGREGATE() rất hay. hàm MINIFS thì mình biết dùng, nhưng phiên bản cần thực hiện là Offices 2016 nên ko có MINIFS.
Mình học hỏi được rất nhiều từ mọi người.
Cảm ơn ạ.
 
160​
157​
196​
17-Aug​
. . . .. Nếu số ngày ít có thể dùng hàm if lồng nhưng nếu số ngày nhiều viết lệnh sẽ rất dài và không tối ưu. . . . ..
@ Chủ bài đăng:
Nếu ngày hay ba động & chuyền thì hữu hạn, nên chăng ta xoay bảng dữ liệu lại
 
Hi bạn, đây là bảng dữ liệu của bên khác nên mình ko tiện sửa đổi.
Mình thấy dòng cuối (dòng F) dữ liệu không phải tăng dần như các hàng trên. Không biết là dư liệu nó thế hay là gõ nhầm.
Nếu dữ liệu là tăng dần, bạn có thể thử
Mã:
H2=INDEX($B$1:$G$1,MATCH(MIN(B2:G2),B2:G2))
 
Mình thấy dòng cuối (dòng F) dữ liệu không phải tăng dần như các hàng trên. Không biết là dư liệu nó thế hay là gõ nhầm.
Nếu dữ liệu là tăng dần, bạn có thể thử
Mã:
H2=INDEX($B$1:$G$1,MATCH(MIN(B2:G2),B2:G2))
Hi LmoovoenX, Dữ liệu nó như vậy chứ ko phải theo quy luật tăng dần đâu bạn. Cảm ơn bạn đã hỗ trợ ạ.
 
Mình có dữ liệu như sau:
Line
14-Aug​
15-Aug​
16-Aug​
17-Aug​
19-Aug​
20-Aug​
First Data Date
A
160​
213​
266​
320​
426​
533​
14-Aug​
B
190​
213​
266​
320​
426​
533​
14-Aug​
C
160​
213​
266​
320​
426​
15-Aug​
D
157​
196​
235​
313​
392​
15-Aug​
E
120​
157​
196​
235​
16-Aug​
F
160​
157​
196​
17-Aug​
Hiện tại mình muốn xác định ngày đầu tiên có dữ liệu của các chuyền như kết quả cột First Data Date nhưng không biết sử dụng công thức nào cho hợp lý. Nếu số ngày ít có thể dùng hàm if lồng nhưng nếu số ngày nhiều viết lệnh sẽ rất dài và không tối ưu. Nhờ anh/em/bạn xem và hỗ trợ mình.
Mình cảm ơn!!

Mình góp thêm 1 cách

H2=INDEX($B$1:$G$1,,MIN(IF(ISNUMBER(B2:G2),COLUMN(B2:G2)-1)))

Thân
 
Thông thường những hàm sau thường ngắn gọn hơn hàm trước mới đưa lên, ở đây thì...
Không hẳn ngắn gọn hơn. Có khi nó chỉ dài hơn khoảng 30% (hàm dài), hay hơn 50% (hàm ngắn) nhưng dễ đọc, dễ chỉnh sửa, và chạy hiệu quả hơn thì cũng xứng đáng.
 
Thông thường những hàm sau thường ngắn gọn hơn hàm trước mới đưa lên, ở đây thì...

Dạ, em cảm ơn bác rất nhiều vì đã góp ý ạ. Em cũng nghĩ mãi mà chưa có phương án nào ngắn gọn hơn ạ, em viết công thức này chủ yếu dựa trên cách em hiểu và cũng chỉ có ý là đưa thêm 1 phương án nữa cho cách giải thêm phong phú và đa dạng hơn thôi ạ.

Chân thành cảm ơn sự góp ý của bác ạ, em phải học hỏi nhiều để nâng cao trình độ hơn nữa ạ.
 
Web KT

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

Back
Top Bottom