Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hàm SCAN xử lý các mảng theo từng hàng và trả về kết quả tích lũy. Nó duyệt qua toàn bộ phạm vi, áp dụng một hàm cho mỗi giá trị trong khi vẫn theo dõi những giá trị trước đó, không giống như các hàm tiêu chuẩn chỉ hoạt động trên những ô đơn lẻ.
Nó sử dụng cú pháp sau:
=SCAN([initial_value], array, lambda)
Hãy cùng phân tích các tham số:
Hàm SCAN rất hữu ích cho việc tính tổng hoặc xử lý có điều kiện. Nhưng khi được kết hợp với hàm REGEX, bạn có thể trích xuất những mẫu từ toàn bộ các cột và dọn dẹp dữ liệu lộn xộn trong một công thức.
Hãy cùng xem một ví dụ thực tế. Trong bảng tính dữ liệu bán hàng, cột G chứa các mô tả giao dịch với số tiền được ẩn bên trong văn bản - chẳng hạn như "Đã nhận khoản thanh toán 250 USD" hoặc "Đã xử lý khoản hoàn lại 75,50 USD". Bạn chỉ cần số tiền bằng USD.
Công thức REGEXEXTRACT tiêu chuẩn hoạt động với một ô:
=REGEXEXTRACT(D2, "\$\d+\.?\d*")
Nhưng để xử lý toàn bộ cột, thông thường bạn sẽ phải kéo công thức xuống hàng trăm hàng. Với hàm SCAN, bạn có thể xử lý tất cả cùng một lúc, chỉ cần sử dụng:
=SCAN("", G2:G11, LAMBDA(acc, curr, REGEXEXTRACT(curr, "\$[\d,]+\.?\d*")))
Công thức này lặp qua các ô từ G2 đến G11, trích xuất số tiền bằng USD từ mỗi ô và trả về toàn bộ mảng. Giá trị tích lũy (acc) không cần thiết ở đây vì chúng ta chỉ đang trích xuất, nhưng SCAN vẫn yêu cầu nó trong cấu trúc lambda.

Công cụ này rất hữu ích khi bạn cần xây dựng dựa trên các kết quả trước đó. Giả sử cột I theo dõi các ID đơn hàng được định dạng không nhất quán - một số có tiền tố, một số thì không. Nếu muốn trích xuất phần số và tạo một bộ đếm các ID hợp lệ, bạn sẽ sử dụng:
=SCAN(0, E2:E100, LAMBDA(count, id, IF(REGEXTEST(id, "\d{4,}"), count+1, count)))
Công thức trên kiểm tra mỗi ô để tìm ít nhất 4 chữ số liên tiếp bằng hàm REGEXTEST. Nếu tìm thấy, hàm sẽ tăng bộ đếm; nếu không, hàm sẽ giữ nguyên số đếm trước đó trong cột J. Kết quả là một cột hiển thị các ID hợp lệ tích lũy khi bạn di chuyển xuống danh sách.

SCAN cũng xử lý các phép toán REGEX nhiều bước trong một công thức duy nhất. Nếu bạn cần trích xuất, xác thực và chuyển đổi văn bản cùng một lúc, việc lồng hàm REGEX bên trong hàm SCAN sẽ thực hiện việc này mà không cần các cột hỗ trợ. Điều này đặc biệt hữu ích khi làm việc với các tập dữ liệu lớn, nơi việc thêm những cột bổ sung có thể làm chậm tiến độ.
REGEX và SCAN không phải là sự thay thế cho VLOOKUP hoặc IF, nhưng chúng là công cụ hữu ích khi các mẫu văn bản quan trọng hơn những kết quả khớp chính xác. Nếu bạn đang dọn dẹp dữ liệu đã nhập hoặc trích xuất các phần cụ thể từ văn bản phi cấu trúc, chúng sẽ giúp bạn tiết kiệm thời gian so với việc chỉnh sửa thủ công hoặc các hàm TEXT lồng nhau.
Cú pháp ban đầu có thể trông phức tạp, nhưng khi bạn đã thành thạo một vài mẫu, chẳng hạn như xác thực email, trích xuất số điện thoại và tách tên, bạn có thể sử dụng lại chúng trong nhiều dự án. Lý tưởng nhất là bạn nên bắt đầu với REGEXTEST để kiểm tra các mẫu, sau đó chuyển sang REGEXEXTRACT khi cần văn bản thực tế. Thêm SCAN khi bạn cần xử lý toàn bộ cột và cần chạy kết quả.
Nguồn tin: Quantrimang.com::
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
5 lợi ích của Google AI Pro mà nhiều người chưa tận dụng
7 ý tưởng prompt viết bài bằng AI giúp thúc đẩy quy trình sáng tạo nội dung
5 cách sáng tạo để sử dụng LLM
Tạo video AI đầu tiên của bạn trong 10 phút
TOP công cụ hữu ích nên thử trên Quantrimang
Prompt tạo poster nội quy lớp học các cấp
Hướng dẫn lấy Gemini API Key và kết nối với n8n chi tiết
NoteGPT AI Detector: Công cụ phát hiện nội dung do AI tạo
Vì sao nên chạy AI agent trong Windows Sandbox?
15 prompt Claude luyện tập phỏng vấn xin việc
Claude Cowork hay ChatGPT Work là công cụ đáng tin tưởng để hoàn thành công việc?
Không cần gõ prompt: Gemini Live giờ có thể tạo ảnh bằng lời nói
ChatGPT và Claude sẽ phản ứng như thế nào nếu bạn đưa ra những yêu cầu phi đạo đức?
TOP ứng dụng xem phim ngắn AI hay nhất
Hướng dẫn từng bước kết nối Spotify với Gemini
Cách dùng Grok Automation tự động hóa nghiên cứu hàng ngày
Đâu là cách tốt nhất để học tập với Claude?
Cách đổi giọng Gemini Live sang giọng bạn thích
Cách chia sẻ đoạn chat Gemini và quản lý link công khai
Những cách chạy LLM cục bộ thay thế Ollama hoặc llama.cpp