Hướng dẫn how do you return the last entry in a column in excel? - làm thế nào để bạn trả về mục cuối cùng trong một cột trong excel?

Hướng dẫn how do you return the last entry in a column in excel? - làm thế nào để bạn trả về mục cuối cùng trong một cột trong excel?
Xin lưu ý: Bài viết này được viết cho người dùng của các phiên bản Microsoft Excel sau: 97, 2000, 2002 và 2003. Nếu bạn đang sử dụng phiên bản sau (Excel 2007 trở lên), mẹo này có thể không hoạt động cho bạn. Đối với một phiên bản của mẹo này được viết riêng cho các phiên bản sau của Excel, bấm vào đây: Lấy giá trị cuối cùng trong một cột. This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Retrieving the Last Value in a Column.

Hướng dẫn how do you return the last entry in a column in excel? - làm thế nào để bạn trả về mục cuối cùng trong một cột trong excel?

Được viết bởi Allen Wyatt (cập nhật lần cuối vào ngày 30 tháng 1 năm 2020) Mẹo này áp dụng cho Excel 97, 2000, 2002 và 2003
This tip applies to Excel 97, 2000, 2002, and 2003


Bạn có thể tự hỏi nếu có một cách để trả về giá trị cuối cùng (không lớn nhất) trong một cột. Chẳng hạn, nếu có các giá trị trong A1 đến A5, thì bạn có thể muốn giá trị trong A5 được trả về. Sau đó, nếu các giá trị được thêm vào A6 đến A8, thì giá trị trong A8 sẽ được trả về.

Có một vài cách mà một giải pháp có thể được tiếp cận. Đầu tiên là sử dụng một công thức như sau:

=INDEX(A:A,COUNT(A:A))

Công thức này trả về giá trị số cuối cùng trong một cột, cung cấp rằng các giá trị bắt đầu tại (trong trường hợp này) A1. Cách tiếp cận này chỉ hoạt động nếu tất cả các giá trị trong cột là số. Nếu các giá trị không phải là số lượng hoặc nếu có các ô trống được trộn lẫn với các giá trị, thì một cách tiếp cận khác là cần thiết. Một cách là sao chép công thức sau vào cột B, ngay bên phải các ô có thể chứa các giá trị:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")

Trong trường hợp này, công thức trả về số hàng của bất kỳ ô nào trong A chứa giá trị số lớn hơn 0. Công thức sau đây có thể được sử dụng để truy xuất giá trị cuối cùng trong cột A:

=INDEX(A:A,MAX(B:B))

Công thức này hoạt động vì nó trả về số hàng lớn nhất từ ​​cột B, và sau đó sử dụng nó làm chỉ mục để trả về giá trị tương ứng từ cột A.

Nếu phạm vi dữ liệu của bạn chứa hỗn hợp các giá trị số và không số lượng (và, có lẽ, thậm chí một số ô trống được xen kẽ trong phạm vi), thì bạn có thể xem xét công thức sau:

=LOOKUP(2,1/(1-ISBLANK(A:A)),A:A)

Cách thức hoạt động của công thức này có thể không rõ ràng lúc đầu. Phần isblank trả về một mảng chứa giá trị đúng hoặc sai cho mỗi ô trong cột A, tùy thuộc vào việc ô đó có trống hay không. Giá trị đúng hoặc sai (thực sự là 1 hoặc 0) bị trừ từ 1 để bạn kết thúc với các giá trị thực là 0 và các giá trị sai là 1.

Bước tiếp theo là sử dụng các giá trị 1 hoặc 0 làm cổ tức trong 1/x. Điều này có hiệu quả "đảo ngược" giá trị và bạn kết thúc với 1 (1/1) hoặc #Div/0! Lỗi (1/0). Hãy nhớ rằng đây là một mảng sau đó được sử dụng làm tham số cho chức năng tra cứu. Những gì đang được tìm kiếm trong mảng là giá trị 2, không tồn tại ở đó. . một giá trị 1. Điều này tương ứng với ô cuối cùng trong phạm vi không trống.

Như bạn có thể nói, đôi khi trả lại giá trị cuối cùng trong một cột có thể có một chút khó khăn. Một cách tiếp cận rõ ràng là chỉ cần phát triển chức năng VBA của riêng bạn trả về giá trị mong muốn. Trong trường hợp này, bạn có thể lập trình hàm để trả về bất kỳ giá trị nào không chỉ là các giá trị số. Một ví dụ điển hình về một chức năng như vậy có sẵn tại trang web của John Walkenbach. Kiểm tra những điều sau:

http://spreadsheetpage.com/index.php/tip/determining_the_last_non_empty_cell_in_a_column_or_row/

Exceltips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí. Mẹo này (2512) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy một phiên bản của mẹo này cho giao diện Ribbon của Excel (Excel 2007 trở lên) ở đây: Lấy giá trị cuối cùng trong một cột.Retrieving the Last Value in a Column.

Tác giả sinh học

Với hơn 50 cuốn sách phi hư cấu và nhiều bài báo trên tạp chí về tín dụng của mình, Allen Wyatt là một tác giả được quốc tế công nhận. Ông là chủ tịch của Sharon Parq Associates, một công ty dịch vụ máy tính và xuất bản. Tìm hiểu thêm về Allen ...

Thêm từ Allen

Tiết kiệm công việc của bạn tự động

Word có thể được cấu hình để lưu công việc của bạn định kỳ, theo bất kỳ thời gian nào bạn mong muốn. Mẹo này giải thích tính năng này & nbsp; ...

Khám phá nhiều hơn

Lọc cho ý kiến

Excel giúp dễ dàng lọc bảng dữ liệu dựa trên các giá trị khác nhau trong bảng đó. Nó không dễ dàng để lọc theo & nbsp; ...

Khám phá nhiều hơn

Lọc cho ý kiến

Excel giúp dễ dàng lọc bảng dữ liệu dựa trên các giá trị khác nhau trong bảng đó. Nó không dễ dàng để lọc theo & nbsp; ...

Khám phá nhiều hơn

Trong ví dụ này, mục tiêu là có được giá trị cuối cùng trong cột B, ngay cả khi & nbsp; dữ liệu có thể chứa các ô trống. Đây là một trong những câu đố xuất hiện thường xuyên trong Excel, bởi vì câu trả lời không rõ ràng. Một cách để làm điều đó là với chức năng tra cứu, có thể xử lý các hoạt động mảng tự nhiên & nbsp; và luôn luôn giả định một trận đấu gần đúng. Điều này làm cho công thức đơn giản và nhỏ gọn đáng ngạc nhiên:

=LOOKUP(2,1/(B:B<>""),B:B)

Làm việc từ trong ra ngoài, chúng tôi sử dụng biểu thức logic để kiểm tra các ô trống trong cột B:

B:B<>""

Phạm vi B: B là một tham chiếu cột đầy đủ & nbsp; đến mọi ô trong cột B. Ưu điểm chính của tham chiếu cột đầy đủ là nó vẫn còn & nbsp; không bị ảnh hưởng khi các hàng bị xóa hoặc thêm.

Lưu ý: & NBSP; Excel thường thông minh về việc đánh giá các công thức sử dụng các tài liệu tham khảo cột đầy đủ, nhưng bạn nên cẩn thận để quản lý & NBSP; phạm vi đã sử dụng. Trong trường hợp này, bởi vì chúng tôi tạo một "cột ảo" hơn 1 triệu hàng với biểu thức B: B "", phạm vi được sử dụng có thể không quan trọng như vậy, nhưng công thức chắc chắn chậm hơn nhiều so với cùng một công thức với cố định các dãy. Nếu bạn nhận thấy sự cố hiệu suất, hãy thử giới hạn phạm vi. Ví dụ: = Tra cứu (2,1/(B1: B100 ""), B1: B100)

Toán tử logic có nghĩa là không bằng và "" có nghĩa là & nbsp; chuỗi trống, do đó, biểu thức này có nghĩa là cột B không & nbsp; trống. Kết quả là một mảng của các giá trị đúng và sai, trong đó true đại diện cho các ô & nbsp; không trống và sai đại diện cho các ô trống. Mảng này bắt đầu như thế này:

{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}

Tiếp theo, chúng tôi chia số 1 cho mảng. Hoạt động toán học tự động ép buộc đúng với 1 và sai thành 0, vì vậy chúng tôi có:

1/{0;1;0;1;1;1;1;1;1;1;1;1;1;1;0;...}

Vì việc chia cho Zero tạo ra một lỗi, & nbsp; kết quả là một mảng bao gồm các lỗi 1S và #div/0:

{#DIV/0!;1;#DIV/0!;1;1;1;1;1;1;1;1;1;1;1;#DIV/0!;...}

Mảng này trở thành đối số Tra cứu_array trong Tra cứu. Lưu ý các 1S đại diện cho & nbsp; các ô không trống và lỗi & nbsp; đại diện cho & nbsp; các ô trống.

Tra cứu_value được đưa ra dưới dạng số 2. & nbsp; chúng tôi đang sử dụng 2 làm giá trị tra cứu để buộc tra cứu để quét đến cuối dữ liệu. Tra cứu & nbsp; tự động bỏ qua các lỗi, vì vậy hãy tra cứu sẽ quét qua 1s tìm kiếm 2 sẽ không bao giờ được tìm thấy. Khi nó đi đến cuối mảng, nó sẽ "bước trở lại" cuối cùng, tương ứng với ô không trống cuối cùng.

Cuối cùng, tra cứu trả về giá trị tương ứng trong result_vector (được đưa ra là b: b), do đó, kết quả cuối cùng là: ngày 30 tháng 6 năm 2020.

Khóa & nbsp; Để hiểu được công thức này là nhận ra rằng Lookup_Value của 2 có chủ ý lớn hơn bất kỳ giá trị nào sẽ xuất hiện trong Tra cứu_Vector. & NBSP; Khi không thể tìm thấy : & nbsp; the & nbsp; cuối cùng 1 trong mảng. Điều này hoạt động bởi vì Tra cứu giả định rằng các giá trị trong Lookup_Vector được sắp xếp theo thứ tự tăng dần và luôn thực hiện một trận đấu gần đúng. Khi tra cứu không thể tìm thấy một trận đấu, nó sẽ khớp với giá trị nhỏ nhất tiếp theo.

Nhận giá trị tương ứng

Bạn có thể dễ dàng điều chỉnh công thức tra cứu để trả về một giá trị tương ứng. Ví dụ: để có được giá liên kết với giá trị cuối cùng trong cột B, & NBSP; công thức trong F7 là:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
0

Sự khác biệt duy nhất là đối số result_vector đã được cung cấp là c: c.

Đối phó với lỗi

Nếu ô không trống cuối cùng chứa lỗi, lỗi sẽ bị bỏ qua. Nếu bạn muốn trả về một lỗi xuất hiện cuối cùng trong phạm vi & nbsp; bạn có thể điều chỉnh công thức để sử dụng isblank và không phải là các chức năng như thế này:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
1

Giá trị số cuối cùng

Để có được giá trị số cuối cùng, bạn có thể thêm hàm isNumber như thế này:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
2

Giá trị không trống cuối cùng, khác không

Để kiểm tra xem giá trị cuối cùng không trống chứ không phải bằng không, bạn có thể điều chỉnh công thức với logic boolean như thế này:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
3

Nếu bạn nhận thấy các vấn đề về hiệu suất, giới hạn phạm vi & nbsp; (nghĩa là sử dụng B1: B100, B1: B1000, thay vì B: B).

Vị trí của giá trị cuối cùng

Để có được số hàng của giá trị cuối cùng, bạn có thể sử dụng một công thức như thế này: ________ 15

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
4

Chúng tôi sử dụng chức năng hàng để cung cấp các số hàng cho cột B để tra cứu làm result_vector để lấy số hàng cho trận đấu cuối cùng.