Hỏi về hàm lọc công thức trong chuỗi

Liên hệ QC

MinhCong

Thành viên gắn bó
Tham gia
28/5/09
Bài viết
1,645
Được thích
1,806
Nghề nghiệp
Xây dựng Cầu đường
Các Bạn cho mình hỏi có hàm nào lọc công thức sau không?
VD:
Ô A1
Đào nền đường 2*3
Ô B1 (Mình có công thức nào tổng quát) để được công thức sau không?
2*3

Hoặc
Ô A1
Đào nền đường (2+3)*(2+8)
Ô B1
(2+3)*(2+8)

Nếu dùng VB thì được. Mình muốn dùng công thức tổng quát, các Bạn có cách nào không? giúp Mình với!
 
Các Bạn cho mình hỏi có hàm nào lọc công thức sau không?
VD:
Ô A1
Đào nền đường 2*3
Ô B1 (Mình có công thức nào tổng quát) để được công thức sau không?
2*3

Hoặc
Ô A1
Đào nền đường (2+3)*(2+8)
Ô B1
(2+3)*(2+8)

Nếu dùng VB thì được. Mình muốn dùng công thức tổng quát, các Bạn có cách nào không? giúp Mình với!
Thử cái này xem. Dùng công thức.
 

File đính kèm

Thử cái này xem. Dùng công thức.
Cái này... hay! Tuy nhiên tác giả có thể nghiên cứu thêm trường hợp này: Là có dấu mở ngoặc đóng ngoặc đơn trong cột A.

Ví dụ: "Đào nền đường (phía bên trái) của đường Trần Phú (2+3)*2"

Làm sao để phân biệt cái ngoặc đơn của chú thích và dấu ngoặc đơn của phép toán?
 
Cái này... hay! Tuy nhiên tác giả có thể nghiên cứu thêm trường hợp này: Là có dấu mở ngoặc đóng ngoặc đơn trong cột A.

Ví dụ: "Đào nền đường (phía bên trái) của đường Trần Phú (2+3)*2"

Làm sao để phân biệt cái ngoặc đơn của chú thích và dấu ngoặc đơn của phép toán?
Thêm 1 cách nữa cũng sử dụng công thức và khắc phục trường hợp như bác BNTT đã nêu
(Mượn tạm file của huuthang_bd làm đỡ)
 

File đính kèm

Thêm 1 cách nữa cũng sử dụng công thức và khắc phục trường hợp như bác BNTT đã nêu
(Mượn tạm file của huuthang_bd làm đỡ)

Bác xem lại sao mình thử vẫn thấy không như yêu cầu.
Và thêm nữa, lỡ trong công thức thế này -2/(10*2) thì sao nhỉ.
 
Bác xem lại sao mình thử vẫn thấy không như yêu cầu.
Và thêm nữa, lỡ trong công thức thế này -2/(10*2) thì sao nhỉ.
Đúng là tôi chưa xét tới Dấu Âm, xin gửi lại công thức mới trong file. Không rõ ngoài trường hợp Dấu Âm này còn trường hợp nào nữa không?
 

File đính kèm

Đúng là tôi chưa xét tới Dấu Âm, xin gửi lại công thức mới trong file. Không rõ ngoài trường hợp Dấu Âm này còn trường hợp nào nữa không?
Xem lại các trường hợp sau:
Đào (nền đường (-(2+3)*3+12)
Đào (nền đường ((2+3)*3+12)
Đào (nền đường -(2+3)*3+12

Đây là file mới, đã thử nhiều dạng công thức nhưng chưa thấy trường hợp cho kết quả sai. Mọi người text thử xem.
 

File đính kèm

Gởi bạn huuthang_bd!

Xem lại các trường hợp sau:
Đào (nền đường (-(2+3)*3+12)
Đào (nền đường ((2+3)*3+12)
Đào (nền đường -(2+3)*3+12
Đây là file mới, đã thử nhiều dạng công thức nhưng chưa thấy trường hợp cho kết quả sai. Mọi người text thử xem.

Mình test thử nè!
Công thức lọc của bạn hay quá, bạn suy nghĩ xem nếu muốn chỉ lấy (554+45454)*5646465 thì có làm được không?
Theo công thức của bạn thì chưa lọc được mà nó lấy kết quả từ
HTML:
5655 thht ghh (554+45454)*5646465
Trong
Mã:
vdb vjvbfvb (gbgnn b,gb,b,b,b (ghnkmghk gbmgllmlm lghlgmlgml 5655 thht ghh (554+45454)*5646465
Thân chào!
 
Mình tóm lại đề tài này như sau :

Tùy theo từng trường hợp cụ thể mà ta sẽ thiết lập công thức cho phù hợp. Chủ yếu là hiểu được thuật toán tách chuỗi cấn lấy. Với các công thức ví dụ ở trên thì các bạn đã có thể làm được cho yêu cầu của riêng mình.

Không có thuật toán nào là toàn vẹn 100% cả. Ngay cả VBA cũng thế, khó mà làm được, mỗi lần có một yêu cầu mới thì lại phải thêm một tí, bớt một tí và ...
 
Mình test thử nè!
Công thức lọc của bạn hay quá, bạn suy nghĩ xem nếu muốn chỉ lấy (554+45454)*5646465 thì có làm được không?
Theo công thức của bạn thì chưa lọc được mà nó lấy kết quả từ
HTML:
5655 thht ghh (554+45454)*5646465
Trong
Mã:
vdb vjvbfvb (gbgnn b,gb,b,b,b (ghnkmghk gbmgllmlm lghlgmlgml 5655 thht ghh (554+45454)*5646465
Thân chào!
Nếu bạn đọc và hiểu được thuật toán trong công thức của tôi bạn sẽ không hỏi câu hỏi như trên. Cái gì cũng phải có chuẩn của nó thì mới làm được. Ở đây, lấy công thức trong chuỗi ra là dựa vào các số là chủ yếu, trong phần diễn giải bạn gõ cả số lẫn chữ thì đương nhiên là nó lấy từ ký tự đầu tiên là số rồi.
 
Nếu bạn đọc và hiểu được thuật toán trong công thức của tôi bạn sẽ không hỏi câu hỏi như trên. Cái gì cũng phải có chuẩn của nó thì mới làm được. Ở đây, lấy công thức trong chuỗi ra là dựa vào các số là chủ yếu, trong phần diễn giải bạn gõ cả số lẫn chữ thì đương nhiên là nó lấy từ ký tự đầu tiên là số rồi.
Tôi đồng ý là nếu số nằm lẫn trong chuỗi thì không chuẩn, nhưng ở đây VT bạn lấy theo cả dấu "-", nên nếu có dấu "-" lẫn trong chuỗi thì nó vẫn sai, mà dấu "-" có lẫn trong chuỗi là chuyện thường. Nói như hoangdanh thì có lẽ không có giải pháp nào toàn diện theo như mong muốn của tác giả được.
 
Web KT

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

Back
Top Bottom