2013-08-12 61 views
6

Tôi đang sử dụng kết hợp các hàm if, vlookup, match, iserror và rất tiếc là tôi không thể tìm được công thức phù hợp.So sánh hai cột và trả về một ô liền kề cụ thể trong Excel

So sánh hai cột cho các kết quả khớp là đủ dễ dàng. phần khó khăn đã được trả lại một tế bào cụ thể khi một trận đấu được tìm thấy.

Vì vậy, những gì tôi đang đối phó với một cái gì đó là loại như thế này:

Header  Column A Column B Column C Column D 
Row 1  111  AAA  112 
Row 2  222  BBB  111 
Row 3  333  CCC  221 
Row 4  444  DDD  333 

Tôi đang cố gắng để phù hợp với các giá trị cột trong Column A, với Column C. Vì vậy, nếu có kết quả phù hợp, tôi muốn giá trị tương ứng trong Column B được điền trong Column D. Không một lời giải thích tuyệt vời, nhưng cho phép tôi để hiển thị trực quan cho bạn những gì tôi đang tìm kiếm

Header  Column A Column B Column C Column D 
Row 2  111  AAA  112 
Row 3  222  BBB  111  AAA 
Row 4  333  CCC  221 
Row 5  444  DDD  333  CCC 

Kể từ tế bào A1 phù hợp với tế bào C3, tôi muốn D trở B2

Cùng với Row 5. Kể từ A4C5 đối sánh, tôi muốn giá trị cho B5

Hãy cho tôi biết nếu điều này có ý nghĩa hoặc nếu bạn cần làm rõ thêm.

+0

tại sao VLOOKUP không hoạt động? –

Trả lời

8

Rất giống với this question và tôi sẽ đề xuất cùng một công thức trong cột D, mặc dù một vài thay đổi đối với phạm vi:

=IFERROR(VLOOKUP(C1, A:B, 2, 0), "") 

Nếu bạn muốn sử dụng phù hợp, bạn sẽ phải sử dụng INDEX là tốt, như vậy:

=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "") 

nhưng điều này thực sự là dài đối với tôi và bạn cần phải biết làm thế nào để sử dụng đúng hai chức năng (hoặc ba, nếu bạn không biết làm thế nào IFERROR hoạt động)!

Lưu ý: =IFERROR() có thể là một sự thay thế của =IF()=ISERROR() trong một số trường hợp :)

+0

+1 để dạy cho tôi bộ chọn cột trong VLOOKUP - thx - Tôi thích sử dụng IFERROR, làm cho trang tính gọn gàng. –

+0

Hi nếu trong cùng một senario nếu tôi muốn dữ liệu toàn bộ hàng cho đến khi colum b những gì bao giờ mathcng sau đó làm thế nào để sửa đổi công thức trên – Mallik

+0

@ user1345837 Bạn muốn họ kết hợp hoặc trong hai cột? Bạn sẽ cần nhiều hơn một công thức cho trường hợp thứ hai. – Jerry

1

Dưới đây là những gì cần phải đi trong D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

Sau đó bạn sẽ có thể sao chép này xuống đến phần còn lại của cột D.

+0

Bây giờ, những gì tôi đang cố gắng làm là so khớp các giá trị Cột trong cột A, với Cột E. Vì vậy, nếu có khớp, tôi muốn giá trị tương ứng trong Cột B, C, D để điền vào Cột F, G, H. Làm như thế nào ?? – vinita

0

Trong ô D2 và sao chép xuống:

=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE)) 
0

tôi sẽ khuyên bạn nên swap B và cột C với lý do mà tôi sẽ giải thích. Sau đó, trong loại D2: = VLOOKUP (A2, B2: C4, 2, FALSE)

Cuối cùng, sao chép công thức cho các tế bào còn lại.

Giải thích: VLOOKUP đầu tiên sẽ tìm giá trị của A2 trong phạm vi từ B2 đến C4 (đối số thứ hai). LƯU Ý: VLOOKUP luôn tìm kiếm cột đầu tiên trong phạm vi này. Đây là lý do tại sao bạn phải trao đổi hai cột trước khi thực hiện bất kỳ điều gì.

Khi kết hợp chính xác được tìm thấy, nó sẽ trả về giá trị trong ô liền kề (đối số thứ ba).

Điều này có nghĩa rằng, nếu bạn đặt 1 làm đối số thứ ba, hàm sẽ trả về giá trị trong cột đầu tiên của dải ô (giá trị này sẽ giống với giá trị bạn đang tìm kiếm). Nếu bạn đặt 2, nó sẽ trả về giá trị từ cột thứ hai trong phạm vi (giá trị trong ô bên phải-bên phải của giá trị đã tìm thấy).

FALSE cho biết bạn đang tìm kết quả khớp chính xác. Nếu bạn đặt TRUE, bạn sẽ tìm kiếm kết quả gần đúng.

Các vấn đề liên quan