Tìm chuỗi dài nhất trong mỗi hàng trong Google Sheets

Bạn đang gặp khó khăn trong việc tìm chuỗi dài nhất trong mỗi hàng trong bảng Google Sheets của bạn? Đừng lo, tôi đã giúp bạn với không chỉ một, mà hai công thức tuyệt vời. Trong bài viết này, tôi sẽ hướng dẫn bạn cả cách sử dụng công thức mảng và công thức không mảng để giúp bạn tìm chuỗi dài nhất trong mỗi hàng một cách dễ dàng.

Công thức không mảng để tìm chuỗi dài nhất trong mỗi hàng

Hãy bắt đầu với công thức không mảng, công thức hoàn hảo cho những người thích phương pháp đơn giản hơn. Đơn giản chỉ cần chèn công thức sau vào ô G2 và kéo xuống để lấy chuỗi dài nhất trong mỗi hàng:

`=index(B2:F2,1, match(max(len(B2:F2)),len(B2:F2),0))`

Để sử dụng công thức này, nhấp vào ô G2, sau đó nhấp và kéo hình vuông màu xanh lá cây nhỏ ở góc dưới cùng bên phải để điền công thức xuống.

Fill the Formula Manually - Fill Handle

Hãy để tôi giải thích công thức cho bạn:

  1. Hàm `=LEN` trả về độ dài của các chuỗi trong B2:F2 (nó trả về một mảng kết quả).
    `=index(len(B2:F2))`

  2. Hàm `=MAX` trả về độ dài lớn nhất của các chuỗi trong B2:F2 (nó trả về một giá trị duy nhất).
    `=index(max(len(B2:F2)))`

  3. Hàm `=MATCH` sử dụng kết quả từ bước 2 làm khóa tìm kiếm và kết quả từ bước 1 là phạm vi tìm kiếm. Sau đó, nó trả về vị trí tương đối của giá trị lớn nhất trong mảng.
    `=index(match(max(len(B2:F2)),len(B2:F2),0))`

  4. Cuối cùng, hàm `=INDEX` dịch chuyển kết quả từ bước 3 và trả về chuỗi dài nhất trong hàng đó.
    `Nó trả về chuỗi dài nhất trong hàng đó.`

Đó là tất cả! Bằng cách làm theo những bước này, bạn sẽ có thể tìm chuỗi dài nhất trong mỗi hàng bằng cách sử dụng công thức không mảng.

Công thức mảng để tìm chuỗi dài nhất trong mỗi hàng

Đối với những người yêu thích công thức mảng, chúng tôi có một lựa chọn khác cho bạn. Chúng tôi sẽ sử dụng chức năng cơ sở dữ liệu `=DMAX` kết hợp với hàm `=VLOOKUP` để tìm chuỗi dài nhất theo hàng.

Đây là công thức để chèn vào ô G2 (đừng copy-paste xuống):
`=ArrayFormula(vlookup(dmax(transpose({B2:B6,len(B2:F6)}),sequence(rows(B2:B6),1,1),{if(,,);if(,,)}),{len(H2:H5),H2:H5},2,0))`

Dưới đây là phân tích công thức:

  1. Cuộn xuống đến screenshot#4. Bạn đã thấy phạm vi trợ giúp H2:H5 chưa? Chúng tôi yêu cầu phạm vi đó để công thức trả về chuỗi dài nhất trong mỗi hàng.
  2. Trong H2:H5, nhập các chuỗi duy nhất được tìm thấy trong B2:F6. Tôi sẽ giải thích thêm về điều đó sau.
  3. Không cần kéo công thức xuống như ví dụ trước. Chỉ cần chọn và xóa bất kỳ giá trị/công thức ẩn nào trong phạm vi G3:G6 để tránh những lỗi REF không mong muốn.

Hãy để tôi giải thích công thức từng bước:

  1. Phần in đậm của công thức là hàm `=DMAX`. Hãy phân tích từng bước trước tiên:
    `=dmax(transpose({B2:B6,len(B2:F6)}),sequence(rows(B2:B6),1,1),{if(,,);if(,,)})`
  • Để đáp ứng yêu cầu của hàm `=DMAX`, chỉ hoạt động với dữ liệu có cấu trúc và giá trị số, chúng tôi xử lý tình huống một cách thông minh như sau:
  • Sử dụng `=LEN(B2:F6)` thay vì chỉ `=B2:F6`.
  • Thay đổi hướng dữ liệu bằng cách sử dụng `=TRANSPOSE`, biến nó thành `=TRANSPOSE(LEN(B2:F6))`.
  • Thêm phạm vi ô các ô `=B2:B6` trong `=TRANSPOSE` bằng cặp dấu ngoặc nhọn (`{}`).
  • Bằng cách này, khi chuyển vị, phạm vi ô `=B2:B6` hoạt động như nhãn trường.
    `transpose({B2:B6,len(B2:F6)})`
  1. Công thức `=SEQUENCE` trả về số trường dọc, đảm bảo rằng kết quả của `=DMAX` cũng sẽ theo chiều dọc.
    `=sequence(rows(B2:B6),1,1)`

  2. Đối với tiêu chí, chúng tôi không yêu cầu bất kỳ tiêu chí nào. Tuy nhiên, hàm `=DMAX` cần ít nhất hai ô trống theo chiều dọc. Chúng tôi xử lý điều này bằng cách sử dụng các bài kiểm tra logic IF sau đây:
    `{if(,,);if(,,)})`

  • Hàm `=DMAX` trả về chiều dài của chuỗi dài nhất trong mỗi hàng, không phải chuỗi dài nhất chính nó.

Hàm `=VLOOKUP` giúp chúng tôi trả về chuỗi dài nhất theo hàng bằng cách sử dụng kết quả của công thức `=DMAX`.

Dưới đây là cách nó hoạt động:

  • Công thức `=DMAX` trả về các khóa tìm kiếm.
  • Trong phạm vi trợ giúp H2:H5, bạn có thể thấy một danh sách chứa các chuỗi duy nhất từ B2:F6.
  • Chúng tôi sử dụng công thức sau làm phạm vi:
    `{len(H2:H5),H2:H5}`
  • Mảng đầu tiên chứa chiều dài của các chuỗi duy nhất.
  • Hàm `=VLOOKUP` tìm kiếm kết quả của `=DMAX`, tức là độ dài của chuỗi dài nhất trong mỗi hàng, trong mảng đầu tiên của phạm vi.
  • Sau đó, nó trả về các chuỗi tương ứng từ mảng thứ hai.

Và đó! Bây giờ bạn đã biết cách tìm chuỗi dài nhất trong mỗi hàng bằng cách sử dụng công thức mảng và không mảng trong Google Sheets.

Cảm ơn bạn đã đọc và hãy tận hưởng kiến thức mới của bạn!

Tương tự: Tìm chuỗi dài nhất trong một cột trong Google Sheets.

Crawlan.com

Related posts