Trích lọc tất cả các giá trị số từ vị trí bất kỳ rải rác trong 1 chuỗi

Liên hệ QC

bebo021999

Thành viên gạo cội
Tham gia
26/1/11
Bài viết
5,950
Được thích
8,742
Giới tính
Nam
Nghề nghiệp
GPE
Mới khám phá ra công thức trích lọc tất cả các giá trị số, nằm rải rác bất kỳ trong một chuỗi như hình này:

untitled.JPG

Công thức tại B1:
Mã:
=--MID(SUMPRODUCT(--MID("01"&A1,SMALL((ROW($1:$300)-1)*ISNUMBER(-MID("01"&A1,ROW($1:$300),1)),ROW($1:$300))+1,1),10^(300-ROW($1:$300))),2,300)
Hình như đúng mọi trường hợp.
Các ACE kiểm chứng giúp!
 
Mới khám phá ra công thức trích lọc tất cả các giá trị số, nằm rải rác bất kỳ trong một chuỗi như hình này:

View attachment 68605

Công thức tại B1:
Mã:
=--MID(SUMPRODUCT(--MID("01"&A1,SMALL((ROW($1:$300)-1)*ISNUMBER(-MID("01"&A1,ROW($1:$300),1)),ROW($1:$300))+1,1),10^(300-ROW($1:$300))),2,300)
Hình như đúng mọi trường hợp.
Các ACE kiểm chứng giúp!
Sai trong 2 trường hợp:
- Cell rổng
- Cell chứa chuổi toàn text (không có số nào)
 
Sai trong 2 trường hợp:
- Cell rổng
- Cell chứa chuổi toàn text (không có số nào)
Như vậy là đúng hết trong mỗi trường hợp có số phải không sư phụ?
Nếu không có số (rỗng, chỉ chứa text) thì phải gài bẫy lỗi thôi.
 
Như vậy là đúng hết trong mỗi trường hợp có số phải không sư phụ?
Nếu không có số (rỗng, chỉ chứa text) thì phải gài bẫy lỗi thôi.
Thật ra cho dù dùng công thức hay VBA thì cái khó nhất vẫn là bẫy lỗi ---> Nói không chừng sau khi bạn thêm phần bẫy lỗi vào bạn sẽ phát hiện phần thêm vào này còn dài hơn cả công thức chính nữa đấy
Thử xem biết liền
Ẹc... Ẹc...
 
Mới khám phá ra công thức trích lọc tất cả các giá trị số, nằm rải rác bất kỳ trong một chuỗi như hình này:

View attachment 68605

Công thức tại B1:
Mã:
=--MID(SUMPRODUCT(--MID("01"&A1,SMALL((ROW($1:$300)-1)*ISNUMBER(-MID("01"&A1,ROW($1:$300),1)),ROW($1:$300))+1,1),10^(300-ROW($1:$300))),2,300)
Hình như đúng mọi trường hợp.
Các ACE kiểm chứng giúp!
phải dùng thêm bẫy lỗi thì mới ok bebo à nếu exel 2007 thì vầy
=IFERROR(--MID(SUMPRODUCT(--MID("01"&A2,SMALL((ROW($1:$300)-1)*ISNUMBER(-MID("01"&A2,ROW($1:$300),1)),ROW($1:$300))+1,1),10^(300-ROW($1:$300))),2,300),"")
 
Web KT

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

Back
Top Bottom