Tách Dữ Liệu Theo Điều Kiện

Dạng bài tách dữ liệu theo yêu cầu, giúp bạn tư duy hàm rất tốt (hướng dẫn có Office thấp và 365).

Bài toán: Trong 1 ô có số và chữ. Bắt đầu lấy từ chữ đầu và lấy đến đoạn có ký tự chữ cuối cùng. Không có chữ cuối như A8, thì lấy hết đoạn mã (trước dấu gạch ngang -).


Link: Onedrive

Tách chuỗi kí tự theo điều kiện

Công thức:
1.=LET(a,MAP(A2:A9,LAMBDA(x,REDUCE(x,{1,-1},LAMBDA(y,z,SUBSTITUTE(y,TAKE(TEXTSPLIT(x,VSTACK(CHAR(ROW($65:$90)),"-")),,z),""))))),REPLACE(a,LEN(a),1,SUBSTITUTE(RIGHT(a),"-","")))
2.=MAP(A2:A9,LAMBDA(a,LET(seq,SEQUENCE(LEN(a)),c,--ISERROR(--MID(a,seq,1)),s,MATCH(1,c,0),e,AGGREGATE(14,6,MATCH(seq,seq/c,0),1),t,MID(a,s,e-s+1),LEFT(t,LEN(t)-(RIGHT(t)="-")))))
3.=LET(a,A2:A9,G,REGEXEXTRACT,F,TEXTAFTER,b,F(a,G(a,"\d+")),TEXTBEFORE(b,"-",-1)&IFNA("-"&G(F(b,"-",-1),"\D+"),""))
4.=LET(a,A2:A9,b,VSTACK(CHAR(ROW(65:90)),"-"),c,TEXTBEFORE(TEXTAFTER(a,b,1),b,-1),d,MID(a,FIND(c,a)-1,LEN(c)+2),LEFT(d,LEN(d)-(RIGHT(d)="-")))
5.=MID(LEFT(A2,MATCH(TRUE,ISNUMBER(--MID(A2,ROW($1:$100),100)),0)-1),MATCH(10^15,--MID(0&A2,1,ROW($1:$100))),100)
6.=MID(MID(A2,1,LOOKUP(6^9,1/((CODE(MID($A2,ROW($2:$100),1))=45)+(CODE(MID($A2,ROW($1:$100),1))>60)),ROW($1:$100))),MATCH(TRUE,CODE(MID($A2,ROW($1:$100),1))>60,0),6^9)
Đăng nhận xét (0)
Mới hơn Cũ hơn