Dữ liệu có các số liên tiếp mỗi hàng, rút gọn lại như kết quả. Ví dụ 1, 2, 3, 4 sẽ được rút gọn hơn thành "1 đến 4".
Link: Onedrive
![]() |
| Rút gọn các số liên tiếp |
Công thức:
1.=BYROW(C2:J11,LAMBDA(r,LET(a,TOCOL(r),MID(CONCAT(CHOOSE(MMULT(-ISNA(XMATCH(a+{1,-1},a)),{1;3})/2+3,", "&a," đến "&a,"")),3,99))))
2.=BYROW(C2:J11,LAMBDA(s,LET(a,TOCOL(s),MID(CONCAT(SWITCH(MMULT(--ISNA(XMATCH(a+{1,-1},a)),{1;2}),0,"",1," đến "&a,", "&a)),3,999))))
3.=BYROW(C2:J11,LAMBDA(v,LET(a,TOCOL(v),f,LAMBDA(x,UNIQUE(VSTACK(a,MODE.MULT(a+x*{1,0})),,1)),b,f(1),c,f(-1),ARRAYTOTEXT(b&REPT(" đến "&c,b<c)))))
4.=BYROW(C2:J11,LAMBDA(s,LET(a,TOCOL(s),ARRAYTOTEXT(DROP(GROUPBY(SCAN(0,a-VSTACK(0,DROP(a,-1))<>1,SUM),a,LAMBDA(r,@r&IF(ROWS(r)=1,""," đến "&MAX(r))),,0),,1)))))
