Tham chiếu một ô của hàng trước trong cùng một bảng trong Excel?


14

Làm thế nào tôi có thể tham khảo các tế bào của

  • các Colorcột,
  • ở hàng trước,
  • của cùng một bảng,

từ một tế bào của cùng một bảng? Không dựa vào số hàng / cột tuyệt đối của bảng tính nếu có thể.

Giống như [[Color],-1]một cái gì đó ...

Câu trả lời:


25

Nếu bạn muốn sử dụng định dạng tham chiếu có cấu trúc, hãy thử

=OFFSET([@Colour],-1,0)

Bạn cũng có thể làm điều này mà không cần sử dụng tài liệu tham khảo có cấu trúc. Ví dụ: trong hàng 2 của bảng (hàng dữ liệu đầu tiên), hãy nhập

=D1

... nếu "Màu" nằm trong cột D. (Điều chỉnh theo tình huống của bạn). Cái sau sẽ nhanh hơn nhiều trong các bộ dữ liệu lớn, vì Offset () rất dễ bay hơi và sẽ tính toán lại bất cứ khi nào BẤT K cell ô nào trong sổ làm việc thay đổi. Điều đó có thể ảnh hưởng lớn đến hiệu suất.


2

Tôi hầu như luôn tạo một cột riêng trong bảng có tên "I" cho chỉ mục, được đánh số 1,2,3,4 ... Sau đó để có được giá trị sử dụng trước đó INDEX([Colour],[@I]-1).

Bạn cũng có thể đánh số cột bắt đầu từ 0 và điều chỉnh công thức cho phù hợp, vì hầu như bạn luôn truy cập vào hàng trước đó.

Hàm dễ bay hơi OFFSETkhiến sổ làm việc lớn của tôi bị sập, vì vậy tôi khuyên bạn nên tránh bằng mọi giá.


Làm thế nào để bạn xây dựng chỉ mục trong một bảng nhận dữ liệu mới mọi lúc? Thủ công? Hay với một công thức? Sau này sẽ được bắt 22, phải không?
teylyn

@teylyn Mình thường làm thủ công. Điều này được chứng minh cho tôi vì khi tôi sắp xếp các chỉ mục dữ liệu không thay đổi. Tôi chắc chắn rằng bạn có thể sáng tạo bằng cách sử dụng các công thức tùy thuộc vào ứng dụng của mình, ví dụ như sử dụng một cái gì đó như=ROW()-2
user3575270

1
Nếu bạn sử dụng một công thức để tạo chỉ mục, sau đó tham khảo chỉ mục đó trong một công thức khác, bạn cũng có thể lồng công thức cho chỉ mục vào công thức thứ hai.
teylyn

Bạn có thể sử dụng ROW() - ROW([#Headers]) - 1.
Solomon Ucko

2

Tôi biết đây là một bài viết cũ nhưng giống như tôi cần một cái gì đó tương tự bây giờ, tôi chắc chắn rằng đây có thể là sự giúp đỡ cho ai đó sau này. Nếu những gì bạn cần là thực hiện một tổng chạy trên cột bảng, ví dụ:

  • Cột 1 có dữ liệu "thu nhập" (giá trị dương và âm)
  • Cột 2 là "số dư" của tài khoản

Đối với mỗi hàng, bạn cần thêm số dư trước đó (Cột 2, hàng trước) và thu nhập (Cột 1, hàng hiện tại) để tính số dư hiện tại.

Một cách để làm điều đó là sử dụng công thức này trong Cột 2, dựa trên câu trả lời của teylyn:

=SUM([@Column1];OFFSET([@[Column2]];-1;0))

Điều này sẽ xử lý một số lỗi xảy ra ở hàng đầu tiên

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.