Nhận nội dung của một ô với số hàng và số cột


96

Tôi muốn lấy nội dung của một ô với số hàng và số cột của nó. Số hàng và cột được lưu trong các ô (ở đây là B1, B2). Tôi biết các giải pháp sau đây hoạt động, nhưng chúng cảm thấy hơi khó hiểu.

Sol 1

=CELL("contents",INDIRECT(ADDRESS(B1,B2)))

Sol 2

=CELL("contents",OFFSET($A$1, B1-1,B2-1))

Có không ít phương pháp tiết? (như = CellValue (hàng, cột) hoặc bất cứ thứ gì)?

Chỉnh sửa / Làm rõ: Tôi chỉ muốn sử dụng các công thức trang tính excel. Không có VBA. Nói tóm lại, tôi khá tìm kiếm phương thức VBA Cells () tương đương như một Công thức excel.


Chúng ta có thể lấy thêm một chút ngữ cảnh không? Bạn chỉ sử dụng công thức Excel? VBA? Một số phương pháp khác?
Saladin Akara

Câu trả lời:


141

Bạn không cần phần CELL () trong công thức của mình:

=INDIRECT(ADDRESS(B1,B2))

hoặc là

=OFFSET($A$1, B1-1,B2-1)

cả hai sẽ hoạt động. Lưu ý rằng cả hai INDIRECTOFFSETđều là các hàm dễ bay hơi. Các hàm biến động có thể làm chậm quá trình tính toán vì chúng được tính toán trong mỗi lần tính toán lại.


Điều này đủ hữu ích để tôi muốn thấy nó được chỉnh sửa để có số lượng dấu ngoặc đóng thích hợp.
Wyck

6
Với sự phổ biến của câu hỏi / câu trả lời này, thật tuyệt nếu có một câu nhỏ ở đây về hàm biến đổi là gì.
LondonRob

Lưu ý rằng với hình thức thứ hai, tùy thuộc vào $ a $ 1, bạn không được di chuyển $ a $ 1 theo bất kỳ cách nào trong các lần chỉnh sửa sau này của trang tính.
Erk

INDIRECT+ ADDRESSlà con đường để đi. Excel trong ngôn ngữ của tôi dịch OFFSETthành 2 từ cách nhau bởi dấu chấm. Đó là điều tồi tệ nhất (cùng với âm sắc trong tên hàm)!
Bitterblue

29

Thử = chỉ mục (ARRAY, ROW, COLUMN)

trong đó: Mảng: chọn toàn bộ trang tính Hàng, Cột: Tham chiếu hàng và cột của bạn

Điều đó sẽ dễ hiểu hơn đối với những người nhìn vào công thức.


2

Tôi đã mất một lúc, nhưng đây là cách tôi làm cho nó hoạt động. Nó không phụ thuộc vào một bảng được sắp xếp.

Đầu tiên tôi bắt đầu với một cột tên tiểu bang (Cột A) và một cột máy bay ở mỗi tiểu bang (Cột B). (Hàng 1 là hàng tiêu đề).

Tìm ô chứa số máy bay là:

=MATCH(MAX($B$2:$B$54),$B$2:$B$54,0)+MIN(ROW($B$2:$B$54))-1

Tôi đặt nó vào một ô và sau đó đặt tên cho ô đó, "StateRow" Sau đó, sử dụng các mẹo ở trên, tôi kết thúc với điều này:

=INDIRECT(ADDRESS(StateRow,1))

Điều này trả về tên của trạng thái từ giá trị động trong hàng "StateRow", cột 1

Bây giờ, khi các giá trị trong cột đếm thay đổi theo thời gian khi nhiều dữ liệu được nhập hơn, tôi luôn biết trạng thái nào có nhiều máy bay nhất.

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.