Giúp mình tìm số là tổng các số

Liên hệ QC

thaivu

Thành viên mới
Tham gia
29/5/07
Bài viết
36
Được thích
1
Ý tưởng là có 2 cột với các con số
Có cách nào tìm 1 số bên cột 2 là tổng của vài số bên cột 1.
Các bác giúp em viết hàm này với
Em cảm ơn các bác nhiều, làm báo cáo kiểu này khổ quá các bác ạ. Ít thì còn mò được chứ nhiều quá đành chịu.

Các bác cố giúp em viết hàm nhé.!$@!!
 
Về nguyên tắc thì chắc chắn là có cách nhưng tuỳ vào bài cụ thể mới làm chính xác đc. Bạn có thể cho biết files dc không?
 
Em gửi file lên đây ạ

Các bác giúp em với nhé
 

File đính kèm

  • TimTong.xls
    13.5 KB · Đọc: 44
Lần chỉnh sửa cuối:
Có một cách dùng công cụ của Excel để theo dõi một cell nào đó được liên kết với các cell khác như thế nào:
- Chọn vùng cần theo dõi công thức.
- Vào menu Tool/Formula Auditing/Show Watch windows.
Xuất hiện hộp thoại Watch windows: Trong đó nhấn chuột vào Add watch. (có thể chọn lại vùng cần theo dõi ở bước này)
Excel sẽ add vào các ô dã chọn các thông tin như Book; Sheet; Cell; Value; Formula. Trong đó ở cột Formula hiển thị công thức của ô tương ứng, qua đó sẽ biết được cell đang xem xét được liên kết với các địa chỉ nào!
 
anhtuan1066 đã viết:
Câu này tôi nhớ ko lầm có người đã từng hỏi: Cột C là tổng của cột A và B... người ta yêu cầu rằng từ kết quả cột C, hảy xem nó là tổng của em nào trong cột A và B... cái này chắc bó bột luôn.. vì rất ư vô lý

Ý em cũng vậy đó bác ạ, nhưng ko tách làm cột A và B, tất cả số hạng trong một cột thôi ạ
cột chứa các số có khả năng là tổng là cột 2.

Giờ làm sao để nó quét các số cột 2 xem có số nào là tổng của một vài em bên cột 1.

Em đang làm báo cáo, dính vụ này mệt đứt hơi.
Phần mềm nhà em nó lủng củng, làm báo cáo hơi mệt, cột trong báo cáo thì là tổng nhưng giờ phải đối chiếu với dữ liệu là các số hạng nên dò dẫm cả tuần mà vẫn chưa xong mấy số hạng
 
Tôi lấy 1 ví dụ nhé:
Cột A, từ A1 đến A100 ta điền số từ 1 đến 100
Cột B, ta cũng có các số (nhỏ hơn 100)... ví dụ là số 50 nha... vậy số 50 này có thể là kết quả của phép công 1 và 49, nhưng cũng có thể là kết quả của 2 và 48... vân vân và vân vân... Ko trời nào biết dc
Bạn nghĩ xem điều mà bạn yêu cầu có quá hoang tưởng ko? Rất ko phù hợp với Logic
Bây giờ trờ lại vấn đề: Cho tôi hỏi bạn muốn thế là đễ làm gì? Bạn nên nói rõ công việc đang làm và điều bạn đang gặp khó khăn, có khi mọi người sẽ tìm ra hướng khác cho bạn... Chứ như yêu cầu trên thì... Bó bột!
Còn như cột báo cáo ko phải là số mà là 1 công thức thì hoàn toàn có thể tìm dc đấy... Bạn thử đưa dử liệu giã lập lên xem (1 ít thôi cũng dc)
Mến
ANH TUẤN
 
anhtuan1066 đã viết:
Tôi lấy 1 ví dụ nhé:
Cột A, từ A1 đến A100 ta điền số từ 1 đến 100
Cột B, ta cũng có các số (nhỏ hơn 100)... ví dụ là số 50 nha... vậy số 50 này có thể là kết quả của phép công 1 và 49, nhưng cũng có thể là kết quả của 2 và 48... vân vân và vân vân... Ko trời nào biết dc
Bạn nghĩ xem điều mà bạn yêu cầu có quá hoang tưởng ko? Rất ko phù hợp với Logic
Bây giờ trờ lại vấn đề: Cho tôi hỏi bạn muốn thế là đễ làm gì? Bạn nên nói rõ công việc đang làm và điều bạn đang gặp khó khăn, có khi mọi người sẽ tìm ra hướng khác cho bạn... Chứ như yêu cầu trên thì... Bó bột!
Còn như cột báo cáo ko phải là số mà là 1 công thức thì hoàn toàn có thể tìm dc đấy... Bạn thử đưa dử liệu giã lập lên xem (1 ít thôi cũng dc)
Mến
ANH TUẤN
Đúng là nếu theo ví dụ của bạn thì hơi chuối thật
Nhưng như báo cáo của mình thì không nhiều, thường 1 số ở cột A sẽ bằng 1 số ở cột B, tuy nhiên có một vài công trình kế toán tách làm 2 khoản, việc tìm kiếm sẽ rất vất vả.
Do vậy các bạn viết giúp mình một hàm có đặc tính như sau (đơn giản bớt)
Thêm một cột ngay bên phải cột B,
Kết quả từng dòng cột này đúng bằng cột B nhưng ở dạng công thức
Được tính bằng tổng của 2 số hạng cột A nếu như ko bằng 1 kết quả cột A.
Mong rằng đây là bài toán hay giúp mọi người tăng kiến thức.
 
anhtuan1066 đã viết:
Tôi lấy 1 ví dụ nhé:
Cột A, từ A1 đến A100 ta điền số từ 1 đến 100
Cột B, ta cũng có các số (nhỏ hơn 100)... ví dụ là số 50 nha... vậy số 50 này có thể là kết quả của phép công 1 và 49, nhưng cũng có thể là kết quả của 2 và 48... vân vân và vân vân... Ko trời nào biết dc
Bạn nghĩ xem điều mà bạn yêu cầu có quá hoang tưởng ko? Rất ko phù hợp với Logic
Bây giờ trờ lại vấn đề: Cho tôi hỏi bạn muốn thế là đễ làm gì? Bạn nên nói rõ công việc đang làm và điều bạn đang gặp khó khăn, có khi mọi người sẽ tìm ra hướng khác cho bạn... Chứ như yêu cầu trên thì... Bó bột!
Còn như cột báo cáo ko phải là số mà là 1 công thức thì hoàn toàn có thể tìm dc đấy... Bạn thử đưa dử liệu giã lập lên xem (1 ít thôi cũng dc)
Mến
ANH TUẤN
Đúng là theo ví dụ của bạn thì cũng mệt thật,
Nhưng như công việc của mình thì đôi khi trên báo cáo hiện tổng nhưng trên sổ cái hiện từng khoản nhỏ.
Việc đối chiếu đòi hỏi công việc phải như thế chứ có ai mong muôn đâu!$@!!
Để đơn giản hơn các bác giúp em cái hàm có đặc tính sau nhé:
Mở bên cạnh cột B (cột tổng) một cột nữa gọi là cột C
Cột C này về giá trị là bằng cột B nhưng ở dạng công thức
Số nào bằng 1 số bên cột A thì nó bằng số bên cột A
Số nào ko tìm đc bên cột A nó sẽ bằng tổng 2 số bên cột A
Các bác giúp em vụ này, cũng mong rằng bài toán trên sẽ giúp mọi người cùng nâng cao kiến thức về excel.
 
Bạn thử xem file này có đúng ý bạn ko?
Mến
ANH TUẤN
 

File đính kèm

  • Tim_Tuan01.zip
    2.7 KB · Đọc: 39
Bác hiểu nhầm ý em rồi ạ.
Ý em là
-nếu số cột B bằng 1 số cột A thì cột C ghi công thức : =địa chỉ số ở cột A
-nếu số cột B không bằng 1 số ở cột A thì cột C ghi công thức: = địa chỉ số thứ 1 ở cột A + địa chỉ số thứ 2 ở cột A
-nếu không có kết quả thì ghi error
Tức là phải dùng hàm visual chứ không phải hàm excel ạ, hàm bác viết em thấy cột B chỉ 92, cột C lại chỉ 63.
 
thaivu đã viết:
Các bác giúp em với nhé

Bạn xem nhé :

PHP:
Function TimTong(So As Long, MangSo As Range) As String
    On Error Resume Next
    Application.Volatile (False)
    Dim i1 As Long, i2 As Long
    If MangSo.Rows.Count < 1 Then Exit Function
    If MangSo.Columns.Count <> 1 Then Exit Function
        For i1 = 1 To MangSo.Rows.Count - 1
            If MangSo(i1) < So Then
              For i2 = i1 + 1 To MangSo.Rows.Count
                If MangSo(i2) = So - MangSo(i1) Then
                    TimTong = IIf(TimTong = "", "", TimTong & "; ") & _
                        "(" & Format(MangSo(i1), "#,##0") & "+" & Format(MangSo(i2), "#,##0") & ")"
        Exit For: End If: Next: End If: Next
    Set MangSo = Nothing
End Function

Thân!
 

File đính kèm

  • TimTong_OB.xls
    22.5 KB · Đọc: 25
Muốn tìm theo địa chỉ thì dùng hàm ADDRESS thôi.. có điều chưa hiểu lắm...
Giờ như vầy: theo dử liệu tôi post lên, bạn thử làm bằng tay xem thử... Tôi nhìn vào có khi mới đoán dc
 
Mr Okebab đã viết:
Bạn xem nhé :

PHP:
Function TimTong(So As Long, MangSo As Range) As String
On Error Resume Next
Application.Volatile (False)
Dim i1 As Long, i2 As Long
If MangSo.Rows.Count < 1 Then Exit Function
If MangSo.Columns.Count <> 1 Then Exit Function
For i1 = 1 To MangSo.Rows.Count - 1
If MangSo(i1) < So Then
For i2 = i1 + 1 To MangSo.Rows.Count
If MangSo(i2) = So - MangSo(i1) Then
TimTong = IIf(TimTong = "", "", TimTong & "; ") & _
"(" & Format(MangSo(i1), "#,##0") & "+" & Format(MangSo(i2), "#,##0") & ")"
Exit For: End If: Next: End If: Next
Set MangSo = Nothing
End Function

Thân!
Hàm của bác đúng hàm em cần tìm rồi ạ, đa tạ bác nhiều nhiều.
Tuy vậy để thuận tiện hơn bác có cách nào khi click ô Kết quả nó tạo một cái gì đó kiểu như liên kết để em biết là tổng các ô nào không ạ.
Với cả (em hơi tham) bác xem hộ có thể tăng lên 3 số hạng, 4 số hạng ... được không ạ.
 
thaivu đã viết:
Ý em cũng vậy đó bác ạ, nhưng ko tách làm cột A và B, tất cả số hạng trong một cột thôi ạ
cột chứa các số có khả năng là tổng là cột 2.

Giờ làm sao để nó quét các số cột 2 xem có số nào là tổng của một vài em bên cột 1.

Em đang làm báo cáo, dính vụ này mệt đứt hơi.
Phần mềm nhà em nó lủng củng, làm báo cáo hơi mệt, cột trong báo cáo thì là tổng nhưng giờ phải đối chiếu với dữ liệu là các số hạng nên dò dẫm cả tuần mà vẫn chưa xong mấy số hạng

Oh, bạn làm gì với ứng dụng dạng này vậy tôi thấy lạ quá, vấn đề ko quá kho để làm nhưng tui muốn biết là ứng dụng gì cho thông đã (k nó tức anh ách thế nào đó), mới làm tốt được hic hic
.
 
tigertiger đã viết:
Oh, bạn làm gì với ứng dụng dạng này vậy tôi thấy lạ quá, vấn đề ko quá kho để làm nhưng tui muốn biết là ứng dụng gì cho thông đã (k nó tức anh ách thế nào đó), mới làm tốt được hic hic
.
Đại khái như bài thách đố tháng 12 ấy bác. Thậm chí còn không biết trước mấy số hạng.
Cụ thể trong trường hợp bạn này có thể do nhập liệu sai sót trong khi điền mã, nó nhảy lung tung rồi phải đi bắt lại cho khớp. Chứ nếu trong phần mềm mà làm đúng quy trình tạo mã và điền mã, phần mềm sẽ lọc theo mã đâu có phải khổ. Nói cho bác thông cảm với dân KT tí. Ngày xưa khi Công ty mình mua 1 phần mềm, mình phải soạn hẳn 1 bản quy định về sử dụng mã như thế nào, treo trước mỗi bàn cho mọi nhân viên. Ngoài ra còn phân quyền cho chỉ 1 vài người có quyền tạo mã mới nữa ấy chứ. Mấy người này có 1 bản hướng dẫn riêng. Vậy mà vẫn sai sót, trùng mã, lộn mã lung tung.
Còn trường hợp như bài thách đố, mình yêu cầu KH hoặc ghi luôn vào hợp đồng cho KH, trả tiền dứt từng tờ hóa đơn và ghi rõ số hđ vào Uỷ nhiệm chi. Nói nhỏ Bác nghe, điều cơ bản của KT khi sử dụng phần mềm kể cả Excel, điều đầu tiên là mã, mã và mã. mã Tài khoản, mã Khách hàng, mã chi phí, . . .Không có mã như bài ở topic bên kia chỉ khổ cho mấy bác cao thủ, giúp mãi giúp hoài không biết khi nào mới hết yêu cầu.
 
-Theo mình, bài toán này phải được xác định số hạng. Vì nếu không, số hạng trở nên vô hạn. Ta không thể viết một chương trình như thế.
-Trước khi các bạn có giải pháp tối ưu, mình thử dùng các vòng lặp để dò tìm kiểu như dò tìm pass. Cách này chỉ dùng với dữ liệu có số dòng ít.
 

File đính kèm

  • TimTong_voda.rar
    8 KB · Đọc: 19
Em xin trình bày cụ thể vấn đề để các bác hiểu và giúp em như bác Tuấn và bác Okebab
Em đang làm báo cáo quý XDCB, hiển thị trên báo cáo là theo mã công trình
Em phải đối chiếu nó từng dòng tổng đó với các nghiệp vụ liên quan tới 2411 và 2412
Nhưng từng nghiệp vụ lại chẳng nhập theo từng công trình (phần mềm nó thế biết làm thế nào được, kiến nghị thì bảo trc mọi người vẫn làm đc sao cháu ko làm đc)
Quá trình truyền số liệu từ BQL và văn phòng sang công ty thì hay gặp kiểu truyền nửa chừng thì gặp trục trặc và chẳng biết truyền được cái nào rồi :(
Chính vì thế em mới phải làm cái việc nhờ các bác giúp chứ hix hix.
Em cám ơn bác Tuấn và bác Okebab rất nhiều, em vẫn đang tiếp tục mày mò để hàm tìm số tổng cho không chỉ 2 mà 3,4,5 số hạng.
Có cách nào mà khi clik vào ô kết quả nó bôi vàng luôn các ô số hạng ko các bác nhỉ.
 
voda đã viết:
-Theo mình, bài toán này phải được xác định số hạng. Vì nếu không, số hạng trở nên vô hạn. Ta không thể viết một chương trình như thế.
-Trước khi các bạn có giải pháp tối ưu, mình thử dùng các vòng lặp để dò tìm kiểu như dò tìm pass. Cách này chỉ dùng với dữ liệu có số dòng ít.
Mình đã xem file của Voda, tuy nhiên khi click thì nó báo lỗi vào hiển thị thông báo
Can't excute code in break mod.
Mình cũng không hiểu tại sao.
Mình nghĩ chắc chắn phải giới hạn số hạng, đúng là nếu không thì máy treo là cái chắc.
Để thống nhất chúng ta giới hạn số số hạng là từ 1 => 5 nhé

Và cột kết quả theo mình nên như thế này:
Cùng dòng đó nếu có 1 số tổng là tổng của các số hạng thì sẽ ở các cột liên tiếp và ở dạng công thức: = địa chỉ số hạng 1 + địa chỉ số hạng 2 + ...
Như vậy khi click vào ô đó ta biết nó là tổng của những số nào trong cột A và biết địa chỉ các số hạng.
Còn nếu các nghĩ ra cách khi click vào ô kết quả nó bôi vàng các số hạng thì còn tuyệt nữa.
Nhờ các bác em học được rất nhiều, các bác tiếp tục giúp đỡ em nhé
 
Bạn tải lại file này nhé
 

File đính kèm

  • TimTong_voda.rar
    7.6 KB · Đọc: 19
Web KT
Back
Top Bottom