2014-09-04 20 views
16

Tôi đã làm việc trên một vấn đề excel, rằng tôi cần phải tìm một câu trả lời cho tôi sẽ giải thích nó dưới đây.Hợp nhất hai bảng Excel Dựa trên dữ liệu phù hợp trong Cột

Tôi đã Table01 với Cột:

  • Nhóm Không
  • Tên
  • Giá

Tôi đã Table02 với các cột:

  • Nhóm Không
  • Thành phố

Tôi đã sáp nhập hai bảng của Table01 & Table02 như trong Image03, Nhưng nếu không có trật tự.

Tuy nhiên, khi bạn thấy Nhóm không có cột giống nhau trong cả hai bảng.

Điều tôi cần là nhận các hàng phù hợp của Table01 & 02 xem cột 'Nhóm Không'.

Kết quả cuối cùng được xem là hình ảnh cuối cùng.

Có cách nào để thực hiện điều này với chức năng excel không?

The Image

Cảm ơn bạn!

+0

chuyển đổi cả hai thành bảng và sử dụng các hàm so khớp và chỉ mục. –

Trả lời

27

Đặt bảng trong hình ảnh thứ hai trên Sheet2, cột D để F.

Trong Sheet1, ô D2 sử dụng công thức

=iferror(vlookup($A2,Sheet2!$D$1:$F$100,column(A1),false),"") 

bản sao trên và xuống.

Chỉnh sửa: đây là ảnh. Dữ liệu nằm trong hai trang tính. Trên Sheet1, nhập công thức vào ô D2. Sau đó sao chép công thức sang F2 và sau đó xuống dưới nhiều hàng tùy theo nhu cầu của bạn.

enter image description here

+0

Cảm ơn bạn đã trả lời Nhưng bạn có thể giải thích thêm một chút về @teylyn –

+0

cho ô nào mà tôi nên viết hàm này @ teylyn –

+5

Vui lòng đọc. Tôi không thể giúp bạn nếu bạn không đọc. – teylyn

9

câu trả lời Teylyn của làm việc rất lớn đối với tôi, nhưng tôi đã phải sửa đổi nó một chút để có được kết quả chính xác. Tôi muốn cung cấp một lời giải thích mở rộng cho bất cứ ai sẽ cần nó.

thiết lập của tôi là như sau:

  • Sheet1: dữ liệu đầy đủ năm 2014
  • Sheet2: hàng được cập nhật cho năm 2015 A1: D50, được sắp xếp theo cột đầu tiên
  • Sheet3: sáp nhập hàng
  • Dữ liệu của tôi không có hàng tiêu đề

Tôi đặt công thức sau vào ô A1 của trang tính3:

=iferror(vlookup(Sheet1!A$1;Sheet2!$A$1:$D$50;column(A1);false);Sheet1!A1) 

Đọc như sau: Lấy giá trị của cột đầu tiên trong Sheet1 (dữ liệu cũ). Tra cứu trong Sheet2 (các hàng được cập nhật). Nếu có, xuất giá trị từ cột được chỉ ra trong Sheet2. Lỗi, xuất ra giá trị cho cột hiện tại của Sheet1.

Ghi chú:

  • Trong phiên bản của tôi về công thức, ";" được sử dụng làm dấu tách tham số thay vì ",". Đó là bởi vì tôi sống ở châu Âu và chúng tôi sử dụng dấu "," làm dấu phân cách thập phân. Thay đổi ";" quay lại "," nếu bạn sống ở một quốc gia có "." là dấu tách thập phân.

  • A $ 1: có nghĩa là luôn lấy cột 1 khi sao chép công thức vào ô trong cột khác. $ A $ 1 có nghĩa là: luôn lấy chính xác ô A1, ngay cả khi sao chép công thức sang một hàng hoặc cột khác.

Sau khi dán công thức trong A1, tôi mở rộng phạm vi sang cột B, C, v.v. cho đến khi đạt được chiều rộng toàn bộ bảng. Bởi vì $ -signs sử dụng, điều này mang lại công thức sau trong tế bào B1, C1, v.v .:

=IFERROR(VLOOKUP('Sheet1'!$A1;'Sheet2'!$A$1:$D$50;COLUMN(B1);FALSE);'Sheet1'!B1) 
=IFERROR(VLOOKUP('Sheet1'!$A1;'Sheet2'!$A$1:$D$50;COLUMN(C1);FALSE);'Sheet1'!C1) 

và vân vân. Lưu ý rằng tra cứu vẫn được thực hiện trong cột đầu tiên. Điều này là do VLOOKUP cần dữ liệu tra cứu được sắp xếp trên cột nơi tra cứu được thực hiện. Tuy nhiên, cột đầu ra là cột nơi công thức được dán.

Tiếp theo, chọn hình chữ nhật trong Bảng 3 bắt đầu từ A1 và có kích thước của dữ liệu trong Sheet1 (cùng số hàng và cột). Nhấn Ctrl-D để sao chép các công thức của hàng đầu tiên vào tất cả các ô đã chọn.

tế bào A2, A3, vv sẽ có được những công thức:

=IFERROR(VLOOKUP('Sheet1'!$A2;'Sheet2'!$A$1:$D$50;COLUMN(A2);FALSE);'Sheet1'!A2) 
=IFERROR(VLOOKUP('Sheet1'!$A3;'Sheet2'!$A$1:$D$50;COLUMN(A3);FALSE);'Sheet1'!A3) 

Bởi vì việc sử dụng $ -signs, khu vực tra cứu là không đổi, nhưng dữ liệu đầu vào được sử dụng từ hàng hiện tại.

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