Tạo mảng loại giá trị = 0 (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hoangexcell

Thành viên tiêu biểu
Tham gia
8/1/08
Bài viết
459
Được thích
132
Donate (Momo)
Donate
Giới tính
Nam
hi cả nhà,

e có dãy các ô giá trị, e cần xử lý 1 số việc trên mảng dãy số này nhưng muốn loại số 0 ra. Còn hiện tại e làm range các ô đó thì nó ra bao gồm cả số 0 ạ
xin cảm ơn nhiều

1607698188420.png
 
Còn trùng thì cách khác:
Mã:
=INDEX(A1:E1,MODE.MULT(IF(A1:E1,COLUMN(A1:E1)*{1;1}
Cảm ơn bạn, mà công thức này hình như thiếu dấu ) mình để excel tự sửa.

Nhưng mình dùng chưa được. Ví dụ mình lại match hay index cái mảng rút ra thì nó ra #ref
 
Đang hiểu là thế này đúng không nhỉ
Mã:
=SUM($C$2:INDIRECT(ADDRESS(2;AGGREGATE(15;6;1/($C$2:$I$2>0)*COLUMN($C$1:$I$1);B4))))
1608111795994.png
Bài đã được tự động gộp:

Phải qua trái thì thay 15 thành 14
 
Nếu số không trùng thì:
Mã:
=MODE.MULT(IF(A1:E1,A1:E1*{1;1}))
Còn trùng thì cách khác:
Mã:
=INDEX(A1:E1,MODE.MULT(IF(A1:E1,COLUMN(A1:E1)*{1;1})))
Em vẫn chưa hiểu tại sao lại dùng hàm if ở trong 2 công thức này, bác có thể giải thích giúp em được không ạ
 
Nhìn công thức thấy mù tịt luôn.
 
Em vẫn chưa hiểu tại sao lại dùng hàm if ở trong 2 công thức này, bác có thể giải thích giúp em được không ạ
Hàm IF để nếu không đúng kết quả trả về FALSE
Hàm MODE.MULT trả về kết quả trùng nhiều nhất nên phải có 2 số trở lên với nó không tính FALSE nên ra được kết quả mong muốn.
 
Đang hiểu là thế này đúng không nhỉ
Mã:
=SUM($C$2:INDIRECT(ADDRESS(2;AGGREGATE(15;6;1/($C$2:$I$2>0)*COLUMN($C$1:$I$1);B4))))
View attachment 251334
Bài đã được tự động gộp:

Phải qua trái thì thay 15 thành 14
Nếu theo như bài #7 thì hiểu như vậy là chưa đúng, mà giả sử hiểu như vậy đúng thì góp thêm cách khác:
Mã:
=SUM(OFFSET($C$2,,,,AGGREGATE(15,6,(COLUMN($C$2:$I$2)-2)*$C$2:$I$2^0,B4)))
 
sợ nhất là mảng, có thử tìm hiểu về lập trình như c# thì cũng có mảng. Và phát hiện là thuật toán về cái này thì ngôn ngữ nào cũng có, chắc là ứng dụng của nó quá nhiều
 
Web KT

Bài viết mới nhất

Back
Top Bottom