[Nhờ giúp đỡ] tính tổng theo các tháng từ drop-down list (1 người xem)

  • Thread starter Thread starter 10n31y
  • Ngày gửi Ngày gửi

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

10n31y

Thành viên mới
Tham gia
22/12/14
Bài viết
6
Được thích
0
Xin chào mọi người,

Mình đang gặp một vấn đề như thế này:

Cho 3 cell A1, A2, A3, trong đó A1 là một dropdown list, gồm từ tháng 1 đến tháng 12. Khi chọn là tháng 1, sau đó nhập vào A2 một số bất kỳ, ví dụ là 5, thì số 5 đó sẽ được gán cho tháng 1, lúc này A3 là tổng cũng bằng 5. Sau đó chọn A1 là tháng 2,
thì giá trị ở A2 sẽ được xóa đi (trường hợp tháng nào đã nhập rồi thì giữ nguyên giá trị nhập ở A2, nếu chưa nhập thì sẽ là ô trống), tiếp tục nhập một số, ví dụ là 10, thì 10 sẽ được gán cho tháng 2, lúc này A3 tổng là 15. Tương tự như vậy khi chọn các tháng khác ở A1.

Trường hợp chọn tháng 2 ở A1, nhập số 10 (lúc này giá trị ở A2 ứng với tháng 1 là 5, tháng 2 là 10), sau đó chọn lại tháng 1, thì A2 sẽ hiện là 5 (vì 5 đang được gán cho tháng 1), nếu đổi giá trị A2 ví dụ là 7, thì lúc đó 7 sẽ được cập nhật là giá trị cho tháng 1, đang hiển thị ở A1, và tổng A3 cũng sẽ thay đổi thành 17 (= 10+7).

Nôm na như A1 là danh sách các biến, A2 là giá trị nhập vào cho các biến, A3 là tổng các biến đó. Giá trị các biến thay đổi theo người dùng nhập vào, tổng được hiển thị ở A3 sẽ update liên tục khi người dùng thay đổi giá trị các biến.

Mình không biết dùng các hàm của excel làm được không, hay phải code, mong được mọi người giúp đỡ!?
 

File đính kèm

Lần chỉnh sửa cuối:
Tạm thời vầy, có gì nữa tính sau
 

File đính kèm

Tạm thời vầy, có gì nữa tính sau

cảm ơn bạn, mình muốn hỏi thêm là có cách nào để không cần chọn tháng 13 không? Cụ thể là khi chọn tháng 1, nhập 5, tiếp tục chọn tháng 2 thì ô H3 sẽ không còn giá trị nữa, sau đó nhập 10 thì H5 sẽ hiện kết quả là 15 luôn. Khi thay đổi giá trị ở dropdown list H1, thì mỗi giá trị nhập vào ở H3 sẽ ứng với giá trị đã chọn ở H1, sau đó H5 tính tổng toàn bộ luôn. Như kiểu mỗi tháng ứng với một biến integer, 3 tháng ứng với 3 biến a,b,c, và H5 là total a+b+c, khi chọn một tháng và nhập giá trị vào H3 thì sẽ gán giá trị đó cho tháng đó.

Trong cách bạn làm ở trên thì sau khi nhập lại giá trị cho bất kỳ H1 nào, thì các giá trị đó sẽ được cộng dồn vào luôn. Xin lỗi nếu cách mình trình bày có thể gây khó hiểu!
 
(1) Mình hỏi thêm là có cách nào để không cần chọn tháng 13 không? Cụ thể là khi chọn tháng 1, nhập 5, tiếp tục chọn tháng 2 thì ô H3 sẽ không còn giá trị nữa, sau đó nhập 10 thì H5 sẽ hiện kết quả là 15 luôn. Khi thay đổi giá trị ở dropdown list H1, thì mỗi giá trị nhập vào ở H3 sẽ ứng với giá trị đã chọn ở H1, sau đó H5 tính tổng toàn bộ luôn. Như kiểu mỗi tháng ứng với một biến integer, 3 tháng ứng với 3 biến a,b,c, và H5 là total a+b+c, khi chọn một tháng và nhập giá trị vào H3 thì sẽ gán giá trị đó cho tháng đó.

Với macro mới này:
PHP:
Option Explicit
Dim Tong As Double
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [H3]) Is Nothing Then
    If [H1].Value < 13 And IsNumeric(Target.Value) Then
        Tong = Tong + Target.Value
        [H5].Value = Tong:          [H3].Value = ""
    ElseIf [H1].Value > 12 Or Not IsNumeric(Target.Value) Then
        [H5].Value = Tong:          Tong = 0
    End If
 ElseIf Not Intersect(Target, [H1]) Is Nothing Then
    If Target.Value > 12 Then
        [H5].Value = Tong:          Tong = 0
    Else
        [H3].Value = 0
    End If
 End If
End Sub
Các chức năng sau sẽ được đáp ứng

(1) Nếu nhập ở [H3] 1 số bất kỳ nào thì có 2 trường hợp sẩy ra:

a./ Tại H1 đang là số bé hơn 13:

Số vừa được nhập sẽ cộng thêm vô số đang lưu trong máy 1 cách tự động;
Số lưu này đồng thời cũng hiện lên tại [H5];
Số vừa nhập sẽ bị xóa đi.

b./ Nếu ở H1 đang là số 13 hay nhập vô [H3] không là kí số thì:

Tại H5 sẽ hiện tổng cuối & xóa tham biến tổng đang lưu (Tong => 0)

(2) Nếu chọn ở [H1] bé hơn 13 thì [H3] nhận trị bằng 0

Bạn muốn macro đáp ứng như thế nào thì cần nêu í tưởng bằng lời; Sẽ có người trên diễn đàn dịch từ ngôn ngữ tiếng Việt sang ngôn ngữ VBA cho bạn.

Thân ái & chúc vui!

 

Rất cảm ơn bạn, ý tưởng của mình là như thế này:

Cho 3 cell A1, A2, A3, trong đó A1 là một dropdown list, gồm từ tháng 1 đến tháng 12. Khi chọn là tháng 1, sau đó nhập vào A2 một số bất kỳ, ví dụ là 5, thì số 5 đó sẽ được gán cho tháng 1, lúc này A3 là tổng cũng bằng 5. Sau đó chọn A1 là tháng 2, thì giá trị ở A2 sẽ được xóa đi (trường hợp tháng nào đã nhập rồi thì giữ nguyên giá trị nhập ở A2, nếu chưa nhập thì sẽ là ô trống), tiếp tục nhập một số, ví dụ là 10, thì 10 sẽ được gán cho tháng 2, lúc này A3 tổng là 15. Tương tự như vậy khi chọn các tháng khác ở A1.

Trường hợp chọn tháng 2 ở A1, nhập số 10 (lúc này giá trị ở A2 ứng với tháng 1 là 5, tháng 2 là 10), sau đó chọn lại tháng 1, thì A2 sẽ hiện là 5 (vì 5 đang được gán cho tháng 1), nếu đổi giá trị A2 ví dụ là 7, thì lúc đó 7 sẽ được cập nhật là giá trị cho tháng 1, đang hiển thị ở A1, và tổng A3 cũng sẽ thay đổi thành 17 (= 10+7).

Nôm na như A1 là danh sách các biến, A2 là giá trị nhập vào cho các biến, A3 là tổng các biến đó. Giá trị các biến thay đổi theo người dùng nhập vào, tổng được hiển thị ở A3 sẽ update liên tục khi người dùng thay đổi giá trị các biến.

Xin cảm ơn!
 
Lần chỉnh sửa cuối:
không biết bạn dùng làm cái gì mà ko thấy số liệu gì cả
thử vậy xem
 

File đính kèm

up nhờ cao thủ nào đi ngang qua giúp đỡ!
 

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

Back
Top Bottom