Nhờ trợ giúp hàm tách số bên trái chuỗi

Liên hệ QC

Binbo2020

Thành viên tích cực
Tham gia
10/11/11
Bài viết
955
Được thích
961
Mình có một chuỗi gồm số âm dương, và ký tự lẫn vào nhau, nhờ mọi người giúp xem có hàm nào đơn giản lấy được chuỗi ký tự bên trái chuỗi không (không dùng VBA nhé). Ví dụ 55N=55, -5CD=-5, 119(2002)=119
 

File đính kèm

  • tach so bên trai chuoi.xlsx
    8.1 KB · Đọc: 22
Mình có một chuỗi gồm số âm dương, và ký tự lẫn vào nhau, nhờ mọi người giúp xem có hàm nào đơn giản lấy được chuỗi ký tự bên trái chuỗi không (không dùng VBA nhé). Ví dụ 55N=55, -5CD=-5, 119(2002)=119
Bạn thử công thức này: =LOOKUP(10^6,--LEFT(A1,ROW($1:$100)))
 
Em có tải file về test thử thì chạy tốt tuy nhiên đến text 12Maybelline thì lại không tách thành công, Còn -12Maybelline thì lại bình thường.
Bài đã được tự động gộp:

Em có tải file về test thử thì chạy tốt tuy nhiên đến text 12Maybelline thì lại không tách thành công, Còn -12Maybelline thì lại bình thường.
 
Cho mình hỏi thêm ngoài lề chút là cái đoạn --MID(A2;{2\3\4\5\6\7\8\9\10\11\12\13\14\15};1)) khi mình sửa lại là --MID(A2;COLUMN($B$1:$P$1);1) sao lại phải bấm CSE mới được nhỉ
Mảng với không mảng đôi khi cũng loằng ngoằng khó hiểu, lúc trưa mình viết công thức gần xong mà bận nên chưa xem tiếp được, giờ nhìn lại giống giống bác befaint.
Chắc ý bạn đang hướng tới công thức như này (công thức mình thêm not nên hơi loằng ngoằng hơn tí)
Mã:
=IFERROR(--LEFT(A1,MATCH(TRUE,INDEX(NOT(ISNUMBER(--MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))),),0)),"")
 
Cho mình hỏi thêm ngoài lề chút là cái đoạn --MID(A2;{2\3\4\5\6\7\8\9\10\11\12\13\14\15};1)) khi mình sửa lại là --MID(A2;COLUMN($B$1:$P$1);1) sao lại phải bấm CSE mới được nhỉ
Hình dung cái range này:
{2\3\4\5\6\7\8\9\10\11\12\13\14\15}
Chỉ show ra 1 lần và bộ não chụp thành 1 bức hình
Tuy nhiên,
COLUMN($B$1:$P$1) phải lần lượt tính thứ tự cột của B1, sau đó đến C1,..., cuối cùng là P1
gọi là hàm mảng, vì kết quả không ra liền sau 1 bước, mà phải dùng nhiều bước trung gian
 
Mảng với không mảng đôi khi cũng loằng ngoằng khó hiểu, lúc trưa mình viết công thức gần xong mà bận nên chưa xem tiếp được, giờ nhìn lại giống giống bác befaint.
Chắc ý bạn đang hướng tới công thức như này (công thức mình thêm not nên hơi loằng ngoằng hơn tí)
Mã:
=IFERROR(--LEFT(A1,MATCH(TRUE,INDEX(NOT(ISNUMBER(--MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))),),0)),"")
"lấy ký tự số bên trái chuỗi"
Gặp số lẽ là tiêu :p
Nếu A1 chứa "12Maybelline", một số công thức không tách được.
Mình thấy giá trị lạ khi nhập công thức:
=VALUE("1 a")
Bạn nào biết giải thích dùm
 
May quá bài của mình không phức tạp đến thế
 
Mình có một chuỗi gồm số âm dương, và ký tự lẫn vào nhau, nhờ mọi người giúp xem có hàm nào đơn giản lấy được chuỗi ký tự bên trái chuỗi không (không dùng VBA nhé). Ví dụ 55N=55, -5CD=-5, 119(2002)=119
công thức mảng đơn giản tham khảo =MID(SUBSTITUTE(A1;"-";"");1;MATCH(FALSE;ISNUMBER(VALUE(MID(SUBSTITUTE(A1;"-";"");ROW(INDIRECT("1:"&LEN(SUBSTITUTE(A1;"-";""))));1)));0)-1)
 
Bài này dùng VBA rất giản dị. Tại sao lại không muốn dùng?

Function SoDauChuoi(chuoi As String)
' Sole purpose is to allow worksheet to use VBA's Val function
SoDauChuoi = VBA.Val(chuoi)
End Function
 
Web KT
Back
Top Bottom