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.Còn trùng thì cách khác:
Mã:=INDEX(A1:E1,MODE.MULT(IF(A1:E1,COLUMN(A1:E1)*{1;1}
Mình chụp cái hình xinh xinh gửi lên nhé.nó ra #ref
Sao không đưa bài toán lên đây luôn, biết đâu có cách giải hay hơnhi 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
View attachment 251075
Thử dùng hàm TRANSPOSE() trước "cái mảng rút ra" rồi "match hay index" xem thế nàoCả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
hông biết làm ấy màVậy sum + offset là được rồi mà.
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 ạNếu số không trùng thì:
Còn trùng thì cách khác:Mã:=MODE.MULT(IF(A1:E1,A1:E1*{1;1}))
Mã:=INDEX(A1:E1,MODE.MULT(IF(A1:E1,COLUMN(A1:E1)*{1;1})))
Hàm IF để nếu không đúng kết quả trả về FALSEEm 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 ạ
Thì ra là vậy. Cảm ơn bácHà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.
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:Đang hiểu là thế này đúng không nhỉ
View attachment 251334Mã:=SUM($C$2:INDIRECT(ADDRESS(2;AGGREGATE(15;6;1/($C$2:$I$2>0)*COLUMN($C$1:$I$1);B4))))
Bài đã được tự động gộp:
Phải qua trái thì thay 15 thành 14
=SUM(OFFSET($C$2,,,,AGGREGATE(15,6,(COLUMN($C$2:$I$2)-2)*$C$2:$I$2^0,B4)))
Bạn đổi dấu ; thành dấu , thửKết quả là đúng yêu cầu rồi đó nhưng sao công thức mình bắt chước bỏ vào nó báo lỗi này ko biết sửa luôn vì chưa hiểu công thức. bạn chỉ giúp nhé
View attachment 251546
ok tối khuya thiếu sáng suốtBạn đổi dấu ; thành dấu , thử