Nhờ giúp hàm tách số đứng sau ký tự cố định trong một chuỗi

Liên hệ QC

daicadai2000

Thành viên mới
Tham gia
24/12/15
Bài viết
26
Được thích
4
Em sử dụng hàm Mid, Len, mà không thể tách cấp điện áp ra được. Nhờ các bác chỉ giáo giúp.
 

File đính kèm

File đính kèm

Em sử dụng hàm Mid, Len, mà không thể tách cấp điện áp ra được. Nhờ các bác chỉ giáo giúp.
Góp thêm 1 cách áp dụng cho định dạng hệ thống với dấu phân cách số lẻ là "." như dữ liệu bạn gửi:
Mã:
B2=-LOOKUP(,-MID(A2,FIND("-",A2)+1,ROW($1:$10)))&"kV"
Enter, fill xuống.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ Bác xem dùm em các tên mới em làm chưa ra. XIn cảm ơn
Chỉnh lại tiêu đề cho ngon lành chút bạn nhé.ờ ơ··

Chỉnh lại tiêu đề cho ngon lành chút bạn nhé.
Nhờ Bác xem dùm em các tên mới em làm chưa ra. XIn cảm ơn
Nhờ Bác xem dùm em các tên mới em làm chưa ra. Xin cảm ơn.
Bài đã được tự động gộp:

Góp thêm 1 cách áp dụng cho định dạng hệ thống với dấu phân cách số lẻ là "." như dữ liệu bạn gửi:
Mã:
B2=-LOOKUP(,-MID(A2,FIND("-",A2)+1,ROW($1:$10)))&"kV"
Enter, fill xuống.

Thân
Có vài tên mới em chưa tách ra được. Nhờ Bác xem dùm.
 

File đính kèm

Nhờ Bác xem dùm em các tên mới em làm chưa ra. Xin cảm ơn.
Bài đã được tự động gộp:


Có vài tên mới em chưa tách ra được. Nhờ Bác xem dùm.
Tạm vậy đi:
Mã:
=TRIM(MID(SUBSTITUTE(MID(A2,FIND("|",SUBSTITUTE(A2,"-","|",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))+1,10)," ",REPT(" ",10)),1,10))
 
Dữ liệu của thớt quá rối rắm.
Chúng không thuần kV mà có chỗ là V. Lại có chỗ là kV DC.
 
Tuy không có mô tả dạng dữ liệu nhưng nếu tôi đoán mò đúng thì phải có B13:B17 = 1.5kV chứ không phải như trong tập tin là B13:B17 = 1kV

Nếu tôi đoán mò đúng thì công thức là .................................................................................................. con bò mộng
Mã:
=TRIM(RIGHT(SUBSTITUTE(LEFT(A2,LOOKUP(100,SEARCH("V",A2,ROW($1:$50)))),"-",REPT(" ",10)),10))

Phải có V còn không quan trọng V, kV, MV hay mV.

Tạm vậy đi:
Mã:
=TRIM(MID(SUBSTITUTE(MID(A2,FIND("|",SUBSTITUTE(A2,"-","|",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))+1,10)," ",REPT(" ",10)),1,10))
Công thức sai cho A29
 
Lần chỉnh sửa cuối:
Tạm vậy đi:
Mã:
=TRIM(MID(SUBSTITUTE(MID(A2,FIND("|",SUBSTITUTE(A2,"-","|",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))+1,10)," ",REPT(" ",10)),1,10))
Cảm ơn Bác, công thức đã làm đúng rồi.
Bài đã được tự động gộp:

Dữ liệu của thớt quá rối rắm.
Chúng không thuần kV mà có chỗ là V. Lại có chỗ là kV DC.
Do dữ liệu mình nhận trên phần mềm trích xuất ra hơi rối, nên mình làm đủ công thức mà vẫn không ra kết quá. Cảm ơn bạn quan tâm nhé.
Bài đã được tự động gộp:

Tuy không có mô tả dạng dữ liệu nhưng nếu tôi đoán mò đúng thì phải có B13:B17 = 1.5kV chứ không phải như trong tập tin là B13:B17 = 1kV

Nếu tôi đoán mò đúng thì công thức là .................................................................................................. con bò mộng
Mã:
=TRIM(RIGHT(SUBSTITUTE(LEFT(A2,LOOKUP(100,SEARCH("V",A2,ROW($1:$50)))),"-",REPT(" ",10)),10))

Phải có V còn không quan trọng V, kV, MV hay mV.


Công thức sai cho A29
Tất cả các cấp điện áp cuối cùng kết thúc bằng chữ "V", "V' rất quan trọng bạn. Mình lấy từ chữ "V" qua bên trái cho đầy đủ cấp điện áp như mình làm ví dụ thủ công. Nhờ bạn chỉ giúp các sửa sai cho A29
 
Lần chỉnh sửa cuối:

File đính kèm

chổ màu vàng là kết quả mong muốn sau khi tìm ra công thức tách cấp điện áp ra Bác.
Bài đã được tự động gộp:


View attachment 271162
Nhờ bác chỉ giáo cho.
Nếu hứng thú với VBA thì thử code này xem:
Mã:
Option Explicit

Function TachDienAp(str As String) As String
Static Re As Object
str = str & Chr(10)
If Re Is Nothing Then Set Re = CreateObject("VBScript.Regexp")
With Re
    .Global = True
    .IgnoreCase = True
    .Pattern = "\D(\d+\.?\d*k?V)\s"
    If .test(str) Then TachDienAp = .Execute(str)(0).submatches(0)
End With
End Function
 
Cách dễ nhất là dùng phương pháp lấy họ tên
- Substitute "-" thành 50 " ", lấy 50 ký tự bên phải, và trim.
- Substitute "V" thành 50 " ", lấy 50 ký ký tự bên trái, và trim, cộng "V" trở vào

1641461232719.png
 
Lần chỉnh sửa cuối:
Không đúng kết quả mẫu rồi anh ơi.
Ở nhầm. Nhưng cái dễ của phương pháp tách họ tên là đây. (tôi nói dễ, không phải ngắn gọn)
Đổi cái substitute đầu tiên (tức là cái trong cùng) thành "substitute last occurence"
SUBSTITUTE($A2,"-",Rept(" ",50),LEN($A2)-LEN(SUBSTITUTE($A2,"-","")))
 
Cảm ơn Bác, công thức đã làm đúng rồi.
Công thức cho A29 = AXV/SEhh/STA/WP 3x300c61-24kV 0.15-220 trả về kết kết quả 220 mà bạn cho là ĐÚNG thì thực ra bạn chả biết mình muốn gì. Mà cứ cho 220 kia là đúng đi thì đó là kV hay V? Vì kết quả có cả kV và V mà. Vậy ở đây là kV hay V? Không thể mập mờ được bạn ạ.
chổ màu vàng là kết quả mong muốn sau khi tìm ra công thức tách cấp điện áp ra Bác.
Nếu bạn cho là với dữ liệu H1Z2Z2-K 1.5-1.5kV DC phải có kết quả là 1kV thì tại sao với BF CX/S/WC 150c19-40.5kV bạn lại cho là phải có kết quả là 40.5kV? Nếu trước sau như một thì phải có 40kV chứ nhỉ?
Nhờ bạn chỉ giúp các sửa sai cho A29
Bạn đã thử công thức của tôi chưa? Theo bạn công thức của tôi sai chỗ nào? Công thức của tôi cho A29 = AXV/SEhh/STA/WP 3x300c61-24kV 0.15-220 trả về kết quả 24kV. Theo bạn kết quả đó là sai? Nếu sai thì kết quả đúng phải là thế nào?

Đã phận đi nhờ thì khi cho là chưa đúng ý, là sai, thì phải chỉ ra chỗ mình cho là sai, và giải thích, tại sao theo nhận xét chủ quan của mình đó là sai. Đừng chơi kiểu lờ đi hoặc cụt lủn: "không đúng", "không chạy", "có lỗi".
 
Lần chỉnh sửa cuối:
...
Nếu bạn cho là với dữ liệu H1Z2Z2-K 1.5-1.5kV DC phải có kết quả là 1kV thì tại sao với BF CX/S/WC 150c19-40.5kV bạn lại cho là phải có kết quả là 40.5kV? Nếu trước sau như một thì phải có 40kV chứ nhỉ?
...
1.5kV DC là điện xe lửa (tầu điện) mà bác.
Chắc tại đường rây tiêu chuẩn 1,2m ở VN dùng 0,8m cho nên bắt buộc phải xuống điện thế 1/3 "cho nó hợp" ***&&%:''"(@$%@
 
1.5kV DC là điện xe lửa (tầu điện) mà bác.
Thì phải mô tả các dạng dữ liệu đầu vào và yêu cầu đầu ra thôi. Làm gì có kiểu tung dữ liệu và kết quả lên không một lời giải thích rồi người ta phải đoán được ý mình? Mặc định là người khác phải làm chuyên môn của mình (kế toán, kỹ sư xây dựng, kỹ sư hóa sinh, kỹ sư trắc địa ...) thì quá đáng quá.
 
Thì phải mô tả các dạng dữ liệu đầu vào và yêu cầu đầu ra thôi. Làm gì có kiểu tung dữ liệu và kết quả lên không một lời giải thích rồi người ta phải đoán được ý mình? Mặc định là người khác phải làm chuyên môn của mình (kế toán, kỹ sư xây dựng, kỹ sư hóa sinh, kỹ sư trắc địa ...) thì quá đáng quá.
Đùa chơi cho vui thôi chứ qua bài #8, thớt đã trả lời cho bài #7 rằng công thức ở bài #5 ra đúng ý mình. Thớt có nhìn lại cái "ý mình" ở chỗ "tô vàng" hay không là chuyện của thớt.
Tất cả những thắc mắc, nhắc thẳng, nhắc khéo, đề nghị còn lại hoàn toàn không có giá trị.

Ngay từ căn bản, tôi đã nhắc là "dữ liệu quá rối rắm". Ý không phải là khó tách. Mà ý là tách xong, con số ấy chả nói được gì. Điện DC và AC khác nhau. Cắt mất DC thì tất cả đọc thành AC?
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom