Xin Code tự động tính kết quả công thức diễn giải ( giống nhu trong pm dự toán ) (2 người xem)

  • Thread starter Thread starter Achye
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Achye

Thành viên mới
Tham gia
13/11/09
Bài viết
23
Được thích
2
Mình muốn xin code giống như trong các chương trình dự toán.
Ô A1 là ô chứa công thức diễn giải. Ô B1 là ra kết quả của công thức.
VD: Tính công tác ván khuôn xà dầm
Nội dung ô A1 là DG1: 2*3.6*0.4/100 ( hoặc chỉ là 2*3.6*0.4/100 )
Hàm tự tạo ở B1 là = kq(A1) ( kq là hàm tự tạo để tính kết quả )
Mình muốn ô B1 có 1 hàm tự tạo ( 1 modun ) để ra kết quả là công thức trên là : 0.029
Mình muốn nhờ các bạn giúp cho code lập hàm tự động tính kết quả trên.
Xin cám ơn trước.
 
Mình muốn xin code giống như trong các chương trình dự toán.
Ô A1 là ô chứa công thức diễn giải. Ô B1 là ra kết quả của công thức.
VD: Tính công tác ván khuôn xà dầm
Nội dung ô A1 là DG1: 2*3.6*0.4/100 ( hoặc chỉ là 2*3.6*0.4/100 )
Hàm tự tạo ở B1 là = kq(A1) ( kq là hàm tự tạo để tính kết quả )
Mình muốn ô B1 có 1 hàm tự tạo ( 1 modun ) để ra kết quả là công thức trên là : 0.029
Mình muốn nhờ các bạn giúp cho code lập hàm tự động tính kết quả trên.
Xin cám ơn trước.
Cái này dùng Evaluate mà
Bạn tham khảo File,
Mở File, nó hỏi gì thì Yes
Bấm Ctrl+F3 xem Name
---------------
Code làm AddIn thì xem ở đây
http://www.giaiphapexcel.com/forum/...-thức-từ-1-ô-dữ-liệu-để-lấy-kết-quả-tinh-toán
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn. Nếu công thức chỉ có số không thôi ( vd như 2*3.6*0.4/100 ) thì đã chạy tốt.
Còn nếu ở ô A1 thêm text ở trước công thức, có dạng:
DG1: 2*3.6*0.4/100
Thì hàm ( code ) phải như thế nào để công thức có chứa hay không chứa text đều ra kết quả như nhau ?
 
Upvote 0
Cám ơn bạn. Nếu công thức chỉ có số không thôi ( vd như 2*3.6*0.4/100 ) thì đã chạy tốt.
Còn nếu ở ô A1 thêm text ở trước công thức, có dạng:
DG1: 2*3.6*0.4/100
Thì hàm ( code ) phải như thế nào để công thức có chứa hay không chứa text đều ra kết quả như nhau ?
Thì bạn tự tách cái text đàng trước ấy liệng đi, xong rồi hẳn tính
 
Upvote 0
Cám ơn bạn. Nếu công thức chỉ có số không thôi ( vd như 2*3.6*0.4/100 ) thì đã chạy tốt.
Còn nếu ở ô A1 thêm text ở trước công thức, có dạng:
DG1: 2*3.6*0.4/100
Thì hàm ( code ) phải như thế nào để công thức có chứa hay không chứa text đều ra kết quả như nhau ?
Các ô chứa Text dạng như thế nào bạn? Mỗi dạng chứa text có cấu trúc khác nhau do đó bạn hãy đưa File chứa đầy đủ các dạng cần tính lên để mọi người dễ hình dung

- Với dữ liệu chỉ gồm: công thức (2*3.6*0.4/100) và text dạng DG1: 2*3.6*0.4/100 thì bạn dùng Name sau
(Cách sử dụng name tôi đoán bạn đã biết)
=EVALUATE(IF(ISERROR(FIND(":",Sheet2!A19)),Sheet2!$A$11,RIGHT(Sheet2!A19,LEN(Sheet2!A19)-FIND(":",Sheet2!A19))))
 
Upvote 0
Cám ơn anh đã giúp.
Hiện thời thì em chỉ cần 2 trường hợp như trên thôi. Sau này nếu có thêm TH nào mới thì tính tiếp :D
@anh ndu96081631: em cũng nghĩ là cắt cái text ra rồi tính cái đằng sau, nhưng em chỉ nghĩ được mà làm ko được :(
Nhân tiện, cho em xin cái code VBA được không ạ ? Em làm theo Name nhưng đến khi tham chiếu cells khác thì sửa tên cells hơi mệt. Có modun thì gọi ra tiện hơn :D
 
Lần chỉnh sửa cuối:
Upvote 0
Mình muốn xin code giống như trong các chương trình dự toán.
Ô A1 là ô chứa công thức diễn giải. Ô B1 là ra kết quả của công thức.
VD: Tính công tác ván khuôn xà dầm
Nội dung ô A1 là DG1: 2*3.6*0.4/100 ( hoặc chỉ là 2*3.6*0.4/100 )
Hàm tự tạo ở B1 là = kq(A1) ( kq là hàm tự tạo để tính kết quả )
Mình muốn ô B1 có 1 hàm tự tạo ( 1 modun ) để ra kết quả là công thức trên là : 0.029
Mình muốn nhờ các bạn giúp cho code lập hàm tự động tính kết quả trên.
Xin cám ơn trước.
Mình khuyến mại cho bạn 1 cách dùng Name và hàm như sau
Đặt name Decsym=INDEX(GET.WORKSPACE(37);1;3)
Và Eval=EVALUATE(SUBSTITUTE(TRIM(MID(SUBSTITUTE(SUBSTITUTE('Du toan'!$C6;":";REPT(" ";255));"=";REPT(" ";255));IF(COUNTIF('Du toan'!$C6;"*:*");255;1);255));",";DecSym))
Trong sheet đặt công thức =Eval
rồi copy cho tất cả các dòng có biểu thức dữ liệu bên trái tương ứng với hàng đó
Mình đã thử cho trường hợp này M4 trục 1-4;9-13(Đoạn C-A): 10*(7,2+2,1-2,2-1,1-0,5)*1,0*0,85*1,3
Kết quả của hàm =Eval=60,775
Bạn thử xem đi!!!
(Công thức có thể áp dụng với nhiều trường hợp dữ liệu của bạn đó)

Chú ý : Tên Sheet là Du toan
 
Upvote 0
Web KT

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

Back
Top Bottom