Lấy biểu thức trong ô kết quả.

Liên hệ QC

caocat

Thành viên chính thức
Tham gia
1/6/09
Bài viết
81
Được thích
6
Em chào anh, chị diễn đàn.
Em có một cột kết quả là tổng số lượng các thùng. Giờ em muốn xem số lượng từng thùng, và có bao nhiêu thùng.
Em gửi tập tin đính kèm. Mong anh, chị diễn đàn giúp em.
Em cảm ơn. Nếu có đăng sai nơi, xin ban quản trị nhắc em. Để em đăng đúng nơi.
 

File đính kèm

  • LaySo.xlsx
    10 KB · Đọc: 11
Em chào anh, chị diễn đàn.
Em có một cột kết quả là tổng số lượng các thùng. Giờ em muốn xem số lượng từng thùng, và có bao nhiêu thùng.
Em gửi tập tin đính kèm. Mong anh, chị diễn đàn giúp em.
Em cảm ơn. Nếu có đăng sai nơi, xin ban quản trị nhắc em. Để em đăng đúng nơi.
Tại D5: Làm sao biết là = 8 mà không phải là 10
 
Tại D5: Làm sao biết là = 8 mà không phải là 10
Bạn ấy đếm các số hạng trong phép cộng, nếu có dấu * thì lấy 1 (thùng) nhân với số sau đó (số 2). Vấn đề là làm sao bỏ cái dấu bằng trong công thức tại cột B để cho ra chuỗi tại cột C, từ đó tính ra cột D
 
Bạn ấy đếm các số hạng trong phép cộng, nếu có dấu * thì lấy 1 (thùng) nhân với số sau đó (số 2). Vấn đề là làm sao bỏ cái dấu bằng trong công thức tại cột B để cho ra chuỗi tại cột C, từ đó tính ra cột D
Em đoán cứ sau dấu + sẽ tính là 1. Sau dấu * thì sẽ là chính số sau dấu *
Là đoán cả thôi, ai biết lấy số nào, có thấy thớt giải thích gì đâu
 
Em chào anh, chị diễn đàn.
Em có một cột kết quả là tổng số lượng các thùng. Giờ em muốn xem số lượng từng thùng, và có bao nhiêu thùng.
Em gửi tập tin đính kèm. Mong anh, chị diễn đàn giúp em.
Em cảm ơn. Nếu có đăng sai nơi, xin ban quản trị nhắc em. Để em đăng đúng nơi.
Chạy code, kết quả dán vào E3 trở đi.
 

File đính kèm

  • LaySoThung_caocat.xlsm
    17.2 KB · Đọc: 5
Em xin cảm ơn sự giúp đỡ của các bác trên diễn đàn. Và cũng xin lỗi vì trả lời muộn. Mong được sự thông cảm.
Bài đã được tự động gộp:

Em cảm ơn nhiều ạ. Chúc Bác ngày mới tốt lành.
Bài đã được tự động gộp:

Chạy code, kết quả dán vào E3 trở đi.
Em cảm ơn nhiều ạ. Chúc Bác nhiều sức khỏe.
 
Bạn có thể dùng UDF này:

PHP:
Function TongSoThung(ByVal cel As Range) As Long
    Dim v As Variant
    For Each v In Split(cel.Formula, "+")
     TongSoThung = TongSoThung + Split(v & "*1", "*")(1)
    Next v
End Function

Nhập công thức này trong D3:

=TongSoThung(B3)

.
 
Bạn có thể dùng UDF này:

PHP:
Function TongSoThung(ByVal cel As Range) As Long
    Dim v As Variant
    For Each v In Split(cel.Formula, "+")
     TongSoThung = TongSoThung + Split(v & "*1", "*")(1)
    Next v
End Function

Nhập công thức này trong D3:

=TongSoThung(B3)
Em cảm ơn Bác đã hỗ trợ.
Bài đã được tự động gộp:

Có 1 vấn đề nhỏ phát sinh như bác HieuCD chia sẻ đó là khi có 3*11 (bài #11) thì đếm số thùng bị sai. Mong các Bác giúp em khắc phục lỗi này nhé! Em cảm ơn.
 
Lần chỉnh sửa cuối:
Em cảm ơn Bác đã hỗ trợ.
Bài đã được tự động gộp:

Có 1 vấn đề nhỏ phát sinh như bác HieuCD chia sẻ đó là khi có 3*11 (bài #11) thì đếm số thùng bị sai. Mong các Bác giúp em khắc phục lỗi này nhé! Em cảm ơn.
Tôi tưởng code tôi mới sai chứ bạn. Tôi đã sửa lại code rồi đây.
 

File đính kèm

  • LaySoThung_caocat.xlsm
    17.4 KB · Đọc: 4
Góp vui UDF Regexp:
Mã:
Function TongSoThung(ByVal Str As String) As Long
    static Re As Object
    If Re Is Nothing Then Set Re = CreateObject("VBScript.Regexp")
    Re.Global = True
    Re.Pattern = "(\+\d+)"
    TongSoThung = Evaluate(Re.Replace("+" & Str, "+1"))
End Function
 
Góp vui UDF Regexp:
Mã:
Function TongSoThung(ByVal Str As String) As Long
    static Re As Object
    If Re Is Nothing Then Set Re = CreateObject("VBScript.Regexp")
    Re.Global = True
    Re.Pattern = "(\+\d+)"
    TongSoThung = Evaluate(Re.Replace("+" & Str, "+1"))
End Function
Em cảm ơn nhiều ạ.
 
Web KT
Back
Top Bottom