Công thức excel sẽ trả về cho tôi số hàng cuối cùng của một ô trong phạm vi chứa dữ liệu cụ thể là gì?


3

Tôi có một bảng tính sẽ mặc định với các giá trị là "Không". Theo thời gian, các giá trị này sẽ được thay đổi thành "Có".

Tôi cần một công thức (không có VB, làm ơn, VB là vô dụng đối với tôi) sẽ cho tôi số hàng của chữ "Có" cuối cùng trong một phạm vi ô để tôi có thể tra cứu giá trị trong số hàng đó của cột khác để lấy văn bản để hiển thị.

Giả sử tôi có cái này trong một cột (gọi nó là 1): "Có", "Có", "Có", "Không", "Không"

Và điều này trong cột được tham chiếu (gọi nó là 2) 1, 1, 2, 2, 3

Khi tất cả được nói và thực hiện, INDIRECT (THE_FORMULA_HERE, 2) sẽ truy xuất cho tôi giá trị "2". Và khi tất cả "Có" được đặt, nó sẽ thay đổi thành "3", v.v.

Câu trả lời:


3

Giả sử dữ liệu là liên tục (nghĩa là "Có, Có, Có, Không, Không" nhưng không "Có, Có, Không, Có, Không") thì bạn có thể sử dụng công thức sau:

=INDIRECT("B" & (COUNTIF(A2:A6, "Yes")+1))

Đây là dữ liệu tôi đã sử dụng:

   | A      B
---------------
 1 | Yes    1
 2 | Yes    1
 3 | Yes    2
 4 | No     2
 5 | No     3

Có nhiều cách khác để làm điều đó nếu bạn có thể thêm một cột trình tự, sau đó sử dụng COUNTIFVLOOKUPlàm điều tương tự.


Cảm ơn ngài, đó chính xác là những gì tôi cần. Có, dữ liệu là liên tục.
MetroidFan2002

1
Làm thế nào bạn định dạng bảng như thế là tốt đẹp :)

@ metroidfan2002 không thành vấn đề, rất vui vì tôi có thể giúp
Richard Slater

@ taskuperuser nó nằm trong một khối mã (bốn khoảng trắng trước ký tự đầu tiên của mỗi dòng), sau đó chỉ cần sử dụng khoảng trắng để "tab" các ký tự đến đúng vị trí. Đã dành hầu hết các năm lập trình hình thành của tôi để làm phiền mọi người trong IRC, đó là cách dễ nhất để hiển thị các bộ dữ liệu 2D đơn giản.
Richard Slater

2

Cho một ví dụ về Cột E chứa các mục sau:

  Row#  Value

     1. Yes
     2. No
     3. Yes
     4. Yes
     5. Yes
     6. Yes
     7. No
     8. No
     9. Yes
     10. No

Bạn có thể sử dụng cái được gọi là công thức Array để thực hiện điều này rất dễ dàng. Trong ví dụ này, bạn sẽ nhập công thức =MAX(ROW(E1:E10)*IF(E1:E10="Yes",1,0))và nhấn CTRL + SHIFT + ENTER để nhập công thức dưới dạng công thức mảng Excel sẽ thêm {} xung quanh bên ngoài công thức để chỉ ra rằng đó là công thức mảng.


1

Tôi sẽ sử dụng INDEX thay vì INDIRECT vì nó không dễ bay hơi, nhưng khái niệm này sẽ gần như giống hệt nhau nếu tất cả các câu trả lời Có đều liền kề và không bị chia tách bởi Không.

=INDEX(B1:B100,COUNTIF(A1:A100,"Yes"))

Với 100 được thay thế bởi tuy nhiên nhiều hàng bạn thực sự có

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.