Hàm đổi từ nhiều công thức diễn giải thành kết quả (1 người xem)

Liên hệ QC

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

theducw87

Thành viên chính thức
Tham gia
18/3/11
Bài viết
73
Được thích
1
Xin chào các bác.
Hiện em cần một hàm có thể tính ra kết quả tổng từ các ô diễn giải như sau:
C2= 1+2
D2= 3*4
E2= 5+6+7
F2= tổng (1+2+3*4+5+6+7)=33. Em cần một hàm tính tổng ở đây.
Các bác nào biết có hàm nào có thể giải quyết được vấn đề trên thì chỉ giúp em với.
Cảm ơn các Bác.
1551254432406.png
 
Xin chào các bác.
Hiện em cần một hàm có thể tính ra kết quả tổng từ các ô diễn giải như sau:
C2= 1+2
D2= 3*4
E2= 5+6+7
F2= tổng (1+2+3*4+5+6+7)=33. Em cần một hàm tính tổng ở đây.
Các bác nào biết có hàm nào có thể giải quyết được vấn đề trên thì chỉ giúp em với.
Cảm ơn các Bác.
View attachment 212837

Bạn xem clip sau nhé
 
Cảm ơn bác.
Em có biết sử dụng cách này nhưng em thấy nó có một số bất tiện sau:
1. Với mỗi sheet bố trí khác nhau thì em sẽ phải gõ lại hàm evaluate
2. Khi tính vào những ô trắng sẽ trả về giá trị: #valuate
3. Evaluate tính cho nhiều ô cùng lúc sẽ phải gõ lại lệnh rất lâu.
Em muốn có hàm nào đó như hàm sum ấy. Chỉ cần Sum(C2;D2;E2) hoặc sum(C2:E2) là ra kết quả cho nhanh bác k.
 
Cảm ơn bác.
Em có biết sử dụng cách này nhưng em thấy nó có một số bất tiện sau:
1. Với mỗi sheet bố trí khác nhau thì em sẽ phải gõ lại hàm evaluate
2. Khi tính vào những ô trắng sẽ trả về giá trị: #valuate
3. Evaluate tính cho nhiều ô cùng lúc sẽ phải gõ lại lệnh rất lâu.
Em muốn có hàm nào đó như hàm sum ấy. Chỉ cần Sum(C2;D2;E2) hoặc sum(C2:E2) là ra kết quả cho nhanh bác k.
Bạn dùng hàm này xem được không.
Mã:
Function tinhtong(ParamArray mang() As Variant) As Long
      Dim T, a As Long, T1
      For Each T In mang
         For Each T1 In T
             If Len(T1) > 0 Then a = a + Evaluate("=" & T1)
         Next
      Next
      tinhtong = a
End Function
Mã:
=tinhtong(C5:C6)
 
Bạn dùng hàm này xem được không.
Mã:
Function tinhtong(ParamArray mang() As Variant) As Long
      Dim T, a As Long, T1
      For Each T In mang
         For Each T1 In T
             If Len(T1) > 0 Then a = a + Evaluate("=" & T1)
         Next
      Next
      tinhtong = a
End Function
Mã:
=tinhtong(C5:C6)
Mình copy vào mà không có được.
Tàn bị lỗi #Valuae thôi.
 
Đây. Bạn xem giúp mình với.
Đây nhé bạn.
Mã:
Function tinhtong(ParamArray mang() As Variant) As Double
      Dim T, a As Double, T1
      For Each T In mang
         For Each T1 In T
             If Len(T1) > 0 Then a = a + Evaluate("=" & Replace(T1, ",", "."))
         Next
      Next
      tinhtong = a
End Function
 

File đính kèm

Hình như dấu , VBE không hiểu là số thập phân, bạn thử thay thành dấu . thử
Cảm ơn bác.
Bài đã được tự động gộp:

Đây nhé bạn.
Mã:
Function tinhtong(ParamArray mang() As Variant) As Double
      Dim T, a As Double, T1
      For Each T In mang
         For Each T1 In T
             If Len(T1) > 0 Then a = a + Evaluate("=" & Replace(T1, ",", "."))
         Next
      Next
      tinhtong = a
End Function
Mình làm được rồi. Cảm ơn bạn nhiều.
 
Đây nhé bạn.
Mã:
Function tinhtong(ParamArray mang() As Variant) As Double
      Dim T, a As Double, T1
      For Each T In mang
         For Each T1 In T
             If Len(T1) > 0 Then a = a + Evaluate("=" & Replace(T1, ",", "."))
         Next
      Next
      tinhtong = a
End Function
Bạn xem giúp mình file này với. Mình dùng công thức tinhtong(F8) nó không ra kết quả nhưng mình copy phần diễn giải của dòng F8 và thêm dấu "=" phía trước thì lại ra kết quả. Hình như cái hàm này nó giới hạn bao nhiêu ký tự mới tính được hay sao đó.
 

File đính kèm

Hàm đó chỉ chạy được khi ban lưu file với phần mở rộng là .xls hoặc .xlsm hoặc .xlsb
Thì mình add vào vẫn chạy bình thường mà. Chỉ là gặp một ô F8 thì nó không ra được kết quả thôi. Các ô khác lại ra bình thường. Tìm thì không thấy lỗi sai. Thêm dấu = vào trước phần diễn giải của ô F8 lại ra kết quả bình thường bạn ak.
 
Bạn xem giúp mình file này với. Mình dùng công thức tinhtong(F8) nó không ra kết quả nhưng mình copy phần diễn giải của dòng F8 và thêm dấu "=" phía trước thì lại ra kết quả. Hình như cái hàm này nó giới hạn bao nhiêu ký tự mới tính được hay sao đó.
Lưu ý là hàm Evaluate chỉ sử dụng được trong giới hạn 255 kí tự nhé
 
Web KT

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

Back
Top Bottom