Cột A là công thức, cột B là giá trị?

Liên hệ QC

danhthang

Thành viên mới
Tham gia
25/5/07
Bài viết
20
Được thích
1
SOS - Cột A là công thức, cột B là giá trị?

excel1.JPG


Em có cột A là các công thức toán học diễn giải như trên. Em muốn ở cột B có giá trị thì phải làm thế nào?
Mong các sư phụ chỉ giúp. Em đã dùng hàm len và right để bỏ dấu = đi nhưng không biết dùng hàm gì để tính kết quả cả.
Thân!
 
Lần chỉnh sửa cuối:
Phải dùng code VBA thôi. Nếu không quá phức tạp như đóng ngoặc, mở ngoặc thì dễ hơn, công thức phức tạp thì khó hơn.
 
Vẫn làm được chỉ cần một hàm nữa thôi. Hồi trước mình xem một anh làm rồi nhưng quên mất là dùng hàm gì. Công thức phức tạp có dấu mở ngoặc cũng OK miễn là đúng công thức toán học ko có dấu cách là được.
 
Nếu chỉ đơn giản như thế thì tôi chỉ bạn 1 cách cũng đơn giản ko kém.. ko cần VBA luôn
Bạn đặt con trỏ tại cell B2, vào menu Insert Name\Define... Khung Name in Workbook gõ chử TINH (hay chử gì tùy ý)... khung Refer to gõ công thức
=EVALUATE(Sheet1!$A2)
OK quay lại bảng tính, ngay cell B2 gõ công thức
=TINH
Kéo fill xuống dưới... Vậy là ra...
Minh họa bằng file thực tế đây... Dấu () hay gì gì nó cũng tính tuốt...(vụ này đã nói vài lần trên GPE rồi đấy)
------------------------------------
Ha... ha... Phát hiện thêm chiêu nữa... Nếu trong file có xài EVALUATE thì Excel nó hiểu là Macro4... ghê thiệt
ANH TUẤN
 

File đính kèm

Lần chỉnh sửa cuối:
anhtuan1066 đã viết:
...Phát hiện thêm chiêu nữa... Nếu trong file có xài EVALUATE thì Excel nó hiểu là Macro4...
Bác có thể nói rõ hơn, làm sao phát hiện được?

w015.gif
 
Chẳng biết nữa... Tại khi làm xong file này, lưu lại rồi mở lên lần nữa, nó báo có Macro4, chỉ vậy thôi nên tôi đoán có lẽ EVALUATE có liên quan đến Macro4 chăng?
ANH TUẤN
 
Evaluate

Em làm được rồi, cám ơn các bác nhiều lắm!
Nhưng em vẫn không hiểu lắm về hàm Evaluate??? Vì em thấy trong thư viện mẫu lệnh của Excel không có hàm này. Nó là một lệnh ngoại trú hay gì gì đại loại như thế không ạ?
Em nghĩ nó là một hàm gọi cái Macro tính công thức ra như bác Anh Tuấn nói đúng không?
Bác nào biết nói rõ giúp em nhé! Vì làm được mà không hiểu bản chất thì cũng chuối lắm.
Thân!
 

File đính kèm

anhtuan1066 đã viết:
Chẳng biết nữa... Tại khi làm xong file này, lưu lại rồi mở lên lần nữa, nó báo có Macro4, chỉ vậy thôi nên tôi đoán có lẽ EVALUATE có liên quan đến Macro4 chăng?
ANH TUẤN

Ủa sao em mở file của bác ra, rồi lưu lại, rồi mở ra giống như bác nói, nó có báo gì đâu? Để Security ở mức Medium đó.
w015.gif
 
Cái EVALUATE này tôi chỉ biết dùng, chả giãi thích dc... chỉ biết rằng bạn chỉ có thể dùng nó khi đặt name... còn chèn công thức trực tiếp vào cell thì thua
Ủa sao em mở file của bác ra, rồi lưu lại, rồi mở ra giống như bác nói, nó có báo gì đâu? Để Security ở mức Medium đó.
Nghĩ cũng lạ... chính cái file của tôi đang gữi ở trên, hôm qua mở đi mở lại mấy lần đều báo macro XL4.. giờ tải về mở thử thì lại chẳng thấy gì...
 
Đúng là lần đầu tiên em biết tới chức năng này. Nếu dịch theo tiếng anh
Evaluation = To fix value of. Tức là nó có chức năng fix lỗi, Hơn nữa trong Ex. có rất nhiều tính năng liên quan tới Evaluation, ví dụ dùng Evaluate fomuler...tại một ô có chứa công thức phức tạp, ta sẽ xem được kết quả từng phần của công thức...còn khá nhiều điều thú vị ở vấn đề này, các bạn nghiên cứu và cùng bàn luận nhé.
 
anhtuan1066 đã viết:
Cái EVALUATE này tôi chỉ biết dùng, chả giãi thích dc... chỉ biết rằng bạn chỉ có thể dùng nó khi đặt name... còn chèn công thức trực tiếp vào cell thì thua

Nghĩ cũng lạ... chính cái file của tôi đang gữi ở trên, hôm qua mở đi mở lại mấy lần đều báo macro XL4.. giờ tải về mở thử thì lại chẳng thấy gì...

Bác anhtuan1066 này đúng là cao thủ (mà lại còn có cả môn sinh kêu thầy nữa chứ).
Tôi mới "đào mỏ" được cái này, anh em tham khảo thêm nhé:
Excel Tips and Tricks

This month, while answering a question on our question Forum I was reminded of an old Excel 4.0 Macro function called EVALUATE.

The question was along these lines. A user had cells with contents like;

A1= 21+69+89+25+31
A2= 21*25
A3= 100/10
A4= 100/10*(10*10+10)
A5= 100/10*10*10+10

None of these cells had an equal sign and as such the cells were seen as Text by Excel. The person wanted to leave the original cell contents intact and use Column B to return the result of the equations.

The usual suspect of = "="&A1 was tried in cell B1 but only resulted in B1 showing =21+69+89+25+31 and NOT evaluating the formula. It was at this point the word EVALUATE came into my mind. At first I tried =EVALUATE(A1). Excel did not like this and came back with an error message "That Function is not valid". After this, the penny dropped fully I remembered how it had to be done. See the steps below

1) Select cell B1
2) Go to Insert>Name>Define
3) Type the name Result (can be any valid range name)
4) In the Refers to: box type: =EVALUATE($A1)
5) Click Add then OK.

It is very important to note that I selected cell B1 and used a Relative Row reference for $A1.

I then simply entered =Result into cell B1 and copied it down and it
worked! It even obeys the use of Parenthesis as in the case of: 100/10*(10*10+10)

Another interesting one I answered was for a user who wanted to stop his SUM
Function reference automatically changing when adding a cell and shifting all to the right. For example, in cell A1 was the Function: =SUM($B1:$Z1)

The user was inserting cells in Column B and this was causing =SUM($B1:$Z1)
to change to =SUM($C1:$AA1) when inserting a cell in B1. That is, selecting cell B1, right clicking, choosing Insert and then checking Shift cells right and clicking OK.

The solution was in the use of the INDIRECT function.
 
Web KT

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

Back
Top Bottom