Cần giúp đỡ vòng lặp hàm tìm và thay thế

Liên hệ QC

longevason

Thành viên chính thức
Tham gia
21/3/08
Bài viết
54
Được thích
2
Xin nhờ mọi người giúp đỡ. Trên file đính kèm em muốn tham chiếu từ sheet Receive sang sheet MA với điều kiện: tìm trên cột B của sheet receive, nếu tìm thấy MA thì lấy kết quả cột D. Mình đã thử Index, lookup nhưng chỉ tìm thấy dòng đầu tiên là nó ngừng rồi. Xin mọi người giúp đỡ có hàm nào tạo ra vòng lặp để máy tiếp tục tìm vày lấy kết quả tiếp theo nếu tìm thấy không? Xin cảm ơn mọi người.
 

File đính kèm

Xin nhờ mọi người giúp đỡ. Trên file đính kèm em muốn tham chiếu từ sheet Receive sang sheet MA với điều kiện: tìm trên cột B của sheet receive, nếu tìm thấy MA thì lấy kết quả cột D. Mình đã thử Index, lookup nhưng chỉ tìm thấy dòng đầu tiên là nó ngừng rồi. Xin mọi người giúp đỡ có hàm nào tạo ra vòng lặp để máy tiếp tục tìm vày lấy kết quả tiếp theo nếu tìm thấy không? Xin cảm ơn mọi người.

lấy cái gì để dò?
sheet MA là gì có cái mã nào giống cột B sheet receive?
 
Chắc là dò trên cột của trang 'Receive'; Nếu tìm thấy thì lấy kết quả tương ứng cùng dòng trên cột [D];

Nhưng mình thì lại chưa rõ lấy xong làm gì với chúng sau đây:

Vứt sọt rác?;
Ghi vô cột [c] của 'MA' cùng với những số liệu fía sau của chúng;
. . . . . (Khác)
?????
 
Chắc là dò trên cột của trang 'Receive'; Nếu tìm thấy thì lấy kết quả tương ứng cùng dòng trên cột [D];

Nhưng mình thì lại chưa rõ lấy xong làm gì với chúng sau đây:

Vứt sọt rác?;
Ghi vô cột [c] của 'MA' cùng với những số liệu fía sau của chúng;
. . . . . (Khác)
?????

Ý của em là thế này: trên cột C của sheet MA lập công thức: tìm trên cột B sheet Receive, nếu thấy “MA” thì lấy kết quả cột D của sheet Receive. (Cũng giống như em đã lập công thức lookup, chỉ có điều nó chỉ tìm thấy 1 tên máy b mà thôi)
 
Ý của em là thế này: trên cột C của sheet MA lập công thức: tìm trên cột B sheet Receive, nếu thấy “MA” thì lấy kết quả cột D của sheet Receive. (Cũng giống như em đã lập công thức lookup, chỉ có điều nó chỉ tìm thấy 1 tên máy b mà thôi)
C3 =IFERROR(INDEX(Receive!$D$4:$D$9,SMALL(IF(Receive!$B$4:$B$9="MA",ROW(Receive!$D$4:$D$9)-3,""),ROW(1:1))),"")
Ctrl +Shift +Enter
 
Ý của em là thế này: trên cột C của sheet MA lập công thức: tìm trên cột B sheet Receive, nếu thấy “MA” thì lấy kết quả cột D của sheet Receive. (Cũng giống như em đã lập công thức lookup, chỉ có điều nó chỉ tìm thấy 1 tên máy b mà thôi)

cthức mảng
Mã:
C3=IFERROR(INDEX(Receive!$D$4:$D$9,SMALL(IF(Receive!$B$4:$B$9="MA",ROW(Receive!$B$4:$B$9)-3),ROW(1:1))),"")
nhấn Ctrl shift enter

nếu số liệu nhiều thì dùng cột phụ
sheet "receive"
Mã:
M4=IF(B4="MA",COUNT($M$3:M3)+1,"")
sau đó dùng index và match lấy qua sheet MA
 
Cảm ơn các sư huynh rất nhiều, công thức tuyệt vời}}}}}
 
C3 =IFERROR(INDEX(Receive!$D$4:$D$9,SMALL(IF(Receive!$B$4:$B$9="MA",ROW(Receive!$D$4:$D$9)-3,""),ROW(1:1))),"")
Ctrl +Shift +Enter

Bữa giờ em tự nghiên cứu để hiểu hơn về công thức này nhưng đọc hoài, nghiên cứu hoài nó cứ ngu vẫn hoàn ngu. Bác giải thích giúp em về ý nghĩa của từng hàm con trong này không ạ? Em xin cảm ơn
 
Cho em hỏi cái đoạn này nghĩa là sao nhỉ, lí do gì -3 vậy huynh?
IF(Receive! $B$4:$B$9="MA",ROW(Receive!$D$4:$D$9)-3
 
Cho em hỏi cái đoạn này nghĩa là sao nhỉ, lí do gì -3 vậy huynh?
IF(Receive! $B$4:$B$9="MA",ROW(Receive!$D$4:$D$9)-3
ROW(Receive!$D$4:$D$9) cho kết quả một dãy số từ 4 đến 9
- 3 để đổi kết quả đó thành dãy mới từ 1 đến 6 (Xác định vị trí cần lấy của hàm INDEX)
 
Web KT

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

Back
Top Bottom