Công thức Excel để lấy giá trị lớn nhất từ mảng văn bản, bỏ qua các ô trống.
CHÀO,
Tôi sẽ phải giải quyết vấn đề này bằng công thức.
Từ một tập hợp các giá trị, chẳng hạn như
001_foo
023_foo
044_foo
099_foo
trống
trống
Trong một cột, tôi phải lấy giá trị lớn nhất mà không cần sử dụng cột khác.
Các số luôn được viết theo thứ tự 3 ký tự đầu tiên từ bên trái.
Bạn có gợi ý gì không?
Trả lời:
CHÀO,
Hãy thử công thức này: =MAX(IF(A1:A10<>"",--LEFT(A1:A10,FIND("_",A1:A10)-1)))
Công thức mảng, nhập bằng tổ hợp phím CTRL+SHIFT+ENTER
Trả lời:
CHÀO
Phương án thay thế chỉ với Enter
trong C2 :
=AGGREGATE(14,6,NOT(ISBLANK(A1:A9))*LEFT(A1:A9,3)*1,1)
Tùy chọn đó hoặc tùy chọn của JP đều thực hiện các phép tính mảng. Vì lý do hiệu suất, hãy tránh tham chiếu đến toàn bộ cột (ví dụ: A:A).
Trả lời:
Chào JP,
Xin lỗi, tôi đã thử rồi nhưng Excel báo lỗi giá trị.
Trân trọng,
Robert
Trả lời:
Lz làm tốt lắm!
Cảm ơn rất nhiều. Vấn đề đã được giải quyết.
Trân trọng,
Robert
Trả lời:
Chào Lz.
Tuyệt vời, tôi là người thường xuyên sử dụng hàm AGGREGATE nhưng hôm nay tôi không nghĩ đến nó, có lẽ ở đây nóng quá. Đầu óc tôi sắp nổ tung rồi.
Thật ra, tốt nhất là nên tránh sử dụng công thức mảng, nhưng tôi sẽ không dùng 2 lệnh gọi hàm có thể thực hiện trong một lệnh: NOT(ISBLANK(A1:A9)) => (A1:A9<>"") cũng cho kết quả tương tự.
Nhưng mà đáng khen quá!
Trả lời:
Chào JP
Tôi biết bạn là fan của hàm AGGREGATE mạnh mẽ đó và thành thật mà nói, tôi khá ngạc nhiên khi bạn không đề xuất nó ;-) Tôi biết NOT(ISBLANK(A1:A9)) cũng có tác dụng tương tự như (A1:A9<>"") nhưng tôi thích NOT(…) và tôi nghi ngờ điều này sẽ chỉ có tác động nhỏ về hiệu năng đối với tập dữ liệu rất lớn.
Trả lời:
Không có gì, Robert.
Vậy là vấn đề đã được giải quyết.
Lưu ý rằng đề xuất của JP cũng có hiệu quả. Vui lòng đánh dấu câu trả lời nào đã giải quyết được vấn đề của bạn là "Đã trả lời" - điều này có thể giúp ích cho người khác sớm muộn gì cũng được… Cảm ơn!
Comments
Post a Comment