[Hỏi GPE] Giúp mình tìm kiếm chuỗi kí tự text trong 1 ô, hoặc 1 text

Liên hệ QC

tuyendcc

tuyendcc
Tham gia
10/1/08
Bài viết
10
Được thích
0
Nghề nghiệp
KSXD
Các bác cho em hỏi là em muốn biết là có hàm nào tìm kiếm như thế này ko?
Ví dụ có 1 đoạn text (hoặc 1 ô) là: "Nguyen Van A, Tran Thi Uyen", dùng hàm gì để tìm xem trong đoạn text này có chuỗi "uy" hay ko? nếu có thì là bao nhiêu chuỗi đó? và ở vị trí nào, nếu ko có thì cho kết quả là 0.
em dùng hàm find, hàm search chỉ cho ra kết quả là nó nằm ở vị trí nào, nhưng nếu ko có thì báo lỗi là #Value!
 
Các bác cho em hỏi là em muốn biết là có hàm nào tìm kiếm như thế này ko?
Ví dụ có 1 đoạn text (hoặc 1 ô) là: "Nguyen Van A, Tran Thi Uyen", dùng hàm gì để tìm xem trong đoạn text này có chuỗi "uy" hay ko? nếu có thì là bao nhiêu chuỗi đó? và ở vị trí nào, nếu ko có thì cho kết quả là 0.
em dùng hàm find, hàm search chỉ cho ra kết quả là nó nằm ở vị trí nào, nhưng nếu ko có thì báo lỗi là #Value!
Thật ra bài này chẳng có khó khăn gì, nhưng bạn không cho file lên thì.. mệt mỏi lắm.. Làm xong lại không hiểu.. rồi lại hỏi tiếp ---> Mật thời gian
Tóm lại: Đưa file lên rồi tính tiếp
 
Các bác cho em hỏi là em muốn biết là có hàm nào tìm kiếm như thế này ko?
Ví dụ có 1 đoạn text (hoặc 1 ô) là: "Nguyen Van A, Tran Thi Uyen", dùng hàm gì để tìm xem trong đoạn text này có chuỗi "uy" hay ko? nếu có thì là bao nhiêu chuỗi đó? và ở vị trí nào, nếu ko có thì cho kết quả là 0.
em dùng hàm find, hàm search chỉ cho ra kết quả là nó nằm ở vị trí nào, nhưng nếu ko có thì báo lỗi là #Value!

Bạn tham khảo cái này xem ,trích lọc theo kiểu trần thị của a Ndu ,lâu qúa củng có người hỏi he he
 

File đính kèm

  • Tim Ten.xls
    14 KB · Đọc: 348
Thật ra bài này chẳng có khó khăn gì, nhưng bạn không cho file lên thì.. mệt mỏi lắm.. Làm xong lại không hiểu.. rồi lại hỏi tiếp ---> Mật thời gian
Tóm lại: Đưa file lên rồi tính tiếp
Xin lỗi bác, em tưởng câu hỏi đơn giản nên không upfile ví dụ, bác giúp em vụ này với nha
 

File đính kèm

  • Vi du.xls
    25.5 KB · Đọc: 123
Xin lỗi bác, em tưởng câu hỏi đơn giản nên không upfile ví dụ, bác giúp em vụ này với nha
Công thức cho D2:
PHP:
=COUNTIF(B2,"*"&$C2&"*")
Công thức cho E2:
PHP:
=IF(D2,LEN(B2)-MAX(IF(MID(B2,ROW(INDIRECT("1:"&LEN(B2))),LEN(C2))=C2,ROW(INDIRECT("1:"&LEN(B2)))))+1,0)
Riêng công thức dưới, sau khi gõ xong phải bấm tổ hợp phím Ctrl + Shift + Enter (chưa nghĩ ra cách nào rút gon
 

File đính kèm

  • Vi du_1.xls
    26 KB · Đọc: 157
Công thức cho E2:
PHP:
=IF(D2,LEN(B2)-MAX(IF(MID(B2,ROW(INDIRECT("1:"&LEN(B2))),LEN(C2))=C2,ROW(INDIRECT("1:"&LEN(B2)))))+1,0)
Riêng công thức dưới, sau khi gõ xong phải bấm tổ hợp phím Ctrl + Shift + Enter (chưa nghĩ ra cách nào rút gon
Rút gọn lại 1 chút:
PHP:
=IF(D2,LEN(B2)-LOOKUP(255,FIND(C2,B2,ROW(INDIRECT("1:"&LEN(B2)))))+1,0)
Công thức này gõ bình thường, không cần phải Ctrl + Shift + Enter
 

File đính kèm

  • Vi du_2.xls
    25.5 KB · Đọc: 148
Lần chỉnh sửa cuối:
Bác ndu96081631 Siêu thật
Thực ra là em đinh mày mò 1 chút nhưng xem ra có vẻ khó quá
Em có 1 hàm này (em có down 1 file Dvalue2 có dùng hàm của bác tedaynui upload trên diễn đàn về) em muốn dùng nó để tính dự toán ấy mà, bác có thể sửa lại thuật toán của VBA này giúp em đc ko?
 

File đính kèm

  • DValue22.xla.xls
    40 KB · Đọc: 35
Lần chỉnh sửa cuối:
Trả về vị trí của tất cả các chuỗi tìm được (tối đa 8 vị trí).
Bạn xem trong file.
 

File đính kèm

  • GPE.xls
    27 KB · Đọc: 222
Bác ndu96081631 Siêu thật
Thực ra là em đinh mày mò 1 chút nhưng xem ra có vẻ khó quá
Em có 1 hàm này (em có down 1 file Dvalue2 có dùng hàm của bác tedaynui upload trên diễn đàn về) em muốn dùng nó để tính dự toán ấy mà, bác có thể sửa lại thuật toán của VBA này giúp em đc ko?
Ngay từ đầu bạn đưa file lên luôn đi cho đở mất công
Dạng bài toán tính giá trị của biểu thức cũng chẳng khó khăn gì... Vấn đề là bạn phải cho biết nguyên tắc nhập liệu là gì? Dấu hiệu xác định bắt đầu biểu thức tính toán là chổ nào (là từ hoặc dấu 2 chấm chăng?)
Tóm lại: Bạn nói được nguyên tắc tách chuổi biểu thức, tôi sẽ làm cho bạn
 
Bác ndu96081631 Siêu thật
Thực ra là em đinh mày mò 1 chút nhưng xem ra có vẻ khó quá
Em có 1 hàm này (em có down 1 file Dvalue2 có dùng hàm của bác tedaynui upload trên diễn đàn về) em muốn dùng nó để tính dự toán ấy mà, bác có thể sửa lại thuật toán của VBA này giúp em đc ko?
Dạng bài này bạn phải đưa đầy đủ các kiểu dữ liệu được nhập & quy tắc tính thì làm mới chính xác, còn nếu chỉ theo yêu cầu trong bài & dữ liệu đúng như vậy thì hàm tự tạo này cũng đạt yêu cầu
Mã:
Public Function DVal(Vung) As Double
    Vung = Replace(Vung, ",", ".")
    DVal = IIf(InStr(1, Vung, " "), Evaluate(Right(Vung, Len(Vung) - InStrRev(Vung, " "))), Evaluate(Vung))
End Function
Thân
 
Ngay từ đầu bạn đưa file lên luôn đi cho đở mất công
Dạng bài toán tính giá trị của biểu thức cũng chẳng khó khăn gì... Vấn đề là bạn phải cho biết nguyên tắc nhập liệu là gì? Dấu hiệu xác định bắt đầu biểu thức tính toán là chổ nào (là từ hoặc dấu 2 chấm chăng?)
Tóm lại: Bạn nói được nguyên tắc tách chuổi biểu thức, tôi sẽ làm cho bạn
Vâng đúng rồi, có những biểu thức chỉ chứa số thôi thì không nói làm gì, nếu nó có thêm text thì cái hàm trên vẫn dùng được. Chỉ khổ là nếu nó có một vài chữ con số không tham gia vào phép tính thôi (trường hợp này thì em sẽ tự thêm dấu ":", nghĩa là bác viết giúp em nếu ko có dấu ":" thì làm bình thường, khi có dấu ":" thì nó chỉ tính công thức từ sau dấu ":" đó, ví dụ: Dầm DM 1: 2*2=4, chứ không phải là 1:2*2=1)
Bác giúp em với nha
Hì hì, ban đầu là em muốn kết hợp cái VBA đấy với 1 hàm có sẵn nào đó của excel, nhưng kết quả ko đc như ý muốn
 
Lần chỉnh sửa cuối:
Vâng đúng rồi, có những biểu thức chỉ chứa số thôi thì không nói làm gì, nếu nó có thêm text thì cái hàm trên vẫn dùng được. Chỉ khổ là nếu nó có một vài chữ con số không tham gia vào phép tính thôi (trường hợp này thì em sẽ tự thêm dấu ":", nghĩa là bác viết giúp em nếu ko có dấu ":" thì làm bình thường, khi có dấu ":" thì nó chỉ tính công thức từ sau dấu ":" đó, ví dụ: Dầm DM 1: 2*2=4, chứ không phải là 1:2*2=1)
Bác giúp em với nha
Hì hì, ban đầu là em muốn kết hợp cái VBA đấy với 1 hàm có sẵn nào đó của excel, nhưng kết quả ko đc như ý muốn
Nếu biểu thức của bạn luôn nằm ở cuối chuỗi thì có thể làm như thế này:
PHP:
Function Tinh(ByVal Str)
Dim Findstr
Str = "GPE" & Replace(Str, " ", "")
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "[^0-9()%,^*/+-]"
    Set Findstr = .Execute(StrReverse(Str))
    Str = Right(Str, Findstr(0).FirstIndex)
End With
Str = Replace(Str, ",", ".")
Tinh = Evaluate(Str)
End Function
 

File đính kèm

  • Tinh gia tri bieu thuc.xls
    43 KB · Đọc: 56
Web KT
Back
Top Bottom