2009-12-10 63 views
7

Tôi cố gắng tránh sử dụng Excel quá nhiều, nhưng khi tôi thích sử dụng tham chiếu có cấu trúc vì chúng có vẻ sạch hơn rất nhiều để viết.Cú pháp bảng tham chiếu có cấu trúc Excel

Nếu tôi tạo bảng có tên "table1" với cột "col1" và "col2", tôi sẽ tham khảo hàng đầu tiên trong "col1" bằng cách sử dụng tham chiếu có cấu trúc trong bảng khác như thế nào? Tôi đã thử cú pháp =table1[[#this row],[col1]] và chỉ gặp lỗi. Có cú pháp như =table1[1,1] or =table1[1,[col1]] không? Tất nhiên, điều này không làm việc, hoặc, nhưng những gì tương đương?

Rất khó chịu vì có vẻ như điều này đơn giản.

Trả lời

12

Table1[[#This Row][Column1]]không làm việc, nhưng công thức phải nằm trên cùng hàng với hàng của bảng mà bạn muốn tham chiếu.

Để tham khảo hàng đầu tiên, ở đâu đó, sử dụng một trong hai COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian]) Hoặc hơi phức tạp hơn SUMIFS() nếu bạn cần các giá trị số thay vì đếm, như đã đề cập bởi studgeek:

SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian]) 

Bạn sẽ tất nhiên cần một hàng độc đáo tiêu chí để chọn hàng. Vì vậy, ví dụ:

Table1 
ID Value Name 
1 2  Two 
2 4  Four 
3 8  Eight 

SUMIF(Table1[Value], Table1[ID], 2) ... trả về giá trị 4 (hoặc 0 nếu không tìm thấy ID = 2). Nếu giá trị của bạn không phải là số, thì bạn không thể sử dụng phương thức này, rõ ràng.

Tuy nhiên, akuhn gần như đạt được câu trả lời thực sự, nhưng anh ta không đi đủ xa trong lời giải thích/ví dụ của mình, IMO.

INDEX(Table1[Name], 2) lợi nhuận "Bốn" INDEX(Table1, 1, 1) lợi nhuận 1

2

thử

=INDEX(col1,1) 

bạn thậm chí có thể giải quyết các tế bào trong một bảng 2-dim, sử dụng

=INDEX(reference,row_num,column_num) 
0

Hiện không có vẻ là một cách rõ ràng của việc sử dụng tham khảo cấu trúc để hàng cụ thể trong một bàn. Như Adrian nói, bạn có thể sử dụng INDEX. Hoặc bạn có thể sử dụng giao lộ ngầm để tham chiếu cùng một hàng: nếu table1 nằm trên hàng 5:10 và bảng 2 cũng nằm trên hàng 5:10 thì việc sử dụng tham chiếu có cấu trúc với tên cột sẽ giao cắt hoàn toàn cùng một hàng. Hoặc bạn có thể nhập tham chiếu có cấu trúc dưới dạng công thức mảng nhiều byte (chọn nhiều ô, nhập công thức và sử dụng Ctrl-shift-Enter) ở các hàng khác nhau và nó sẽ hoạt động.

0

Thay vì INDEX tôi sẽ đề xuất SUMIF. Nó sẽ cho phép bạn sử dụng các giá trị bảng hơn là số hàng rõ ràng (có thể bị ngắt nếu bạn bắt đầu lọc hoặc sắp xếp). Ví dụ (từ đường dẫn sau), đây tóm tắt các cột Số tiền và chỉ bao gồm những hàng nơi Loại bằng Kiểm tra và nơi tài khoản bằng tiện ích: =SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)

Xem liên kết này biết thêm: http://office.microsoft.com/en-us/excel-help/using-structured-references-with-excel-tables-HA010155686.aspx

0

Nó sẽ được tốt đẹp nếu một bảng có thể có một cột được chỉ định làm khóa chính (mà có thể là số hoặc chuỗi), và sau đó một ref có cấu trúc có thể bao gồm một cách để tham chiếu một hàng bằng khóa chính của nó.

Đây sẽ là đường cú pháp quanh VLOOKUP, nhưng bảng có thể biết nếu nó được sắp xếp trên khóa chính và chỉ thực hiện tra cứu hiệu quả trong trường hợp đó. Dường như VLOOKUP nhúng cái ác vào nó tìm thấy hàng sai nếu bạn phụ thuộc vào sắp xếp, đặc biệt là khi các bảng có cách thuận tiện để sắp xếp các hàng.

0

Bí quyết trong trường hợp này là sử dụng Excel chức năng OFFSET:

  • Truy cập hàng ngày 1 cột tên COLUMN1 trong cùng một bảng: OFFSET([Column1],0,0,1)
  • Tiếp cận thứ 2 liên tiếp OFFSET([Column1],1,0,1)

, vv

Tất nhiên bạn có thể sử dụng điều này để buộc một bảng và cột khác bằng cách chỉ cần đặt trước nó bằng tên bảng. Ví dụ: OFFSET(Table2[Column3],4,0,1) sẽ truy cập hàng thứ 4 của cột 'Cột 3' của 'Bảng2'

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