Mong được hướng dẫn SUM có điều kiện (1 người xem)

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

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

lopbop

Thành viên mới
Tham gia
21/8/09
Bài viết
18
Được thích
1
Các cao thủ ai biết thì vui lòng giúp mình cái! Vấn đề thế này. Cột A từ A1 đến A400 mình sẽ nhâp số liệu vào hàng tháng. Cột B từ B1 đến B400 thì khoảng 4 năm mới có số liệu một lần nhưng không biết rơi vào tháng nào. Ô C1 đầu tiên là kết quả của SUM(A1:A400) nhưng khi trong cột B có số liệu thì ô C1 trả về kết quả SUM trên cột A từ vị trí cột B có số liệu đến A400 (SUM(A"từ vị trí cột B xuất hiện số liệu":A400)). Mình mới chập chửng Excell nên hiểu biết rất hạng chế mong các cao thủ hướng dẫn xin cảm ơn.
 
Bạn nhập dữ liệu vào file gửi lên đây mọi người giúp bạn. Từ yêu cầu của bạn nếu cột B xuất hiện nhiều vị trí thì lấy vị trí cuối đến A400??
 
Lần chỉnh sửa cuối:
Rất đúng đó bạn, cứ cột B xuất hiện số liệu là SUM tử vị trí có số liệu đến A400. Mình chưa biết cách gởi File
 
Cảm ơn ban! mình gởi kèm File bạn xem giúp mình nhé
 

File đính kèm

Bạn download add-in giá trị cell cuối về thêm vào rồi mở file ví dụ lên xem nhé.
Mong các pro chỉ dẫn thêm.
 

File đính kèm

Cảm ơn bạn ditimdl rất nhiều! Tuy nhiên mình muốn có cách nào kết hợp các hàm có sẵn trong EXCELL để thực hiện yều cầu mà không dùng VBA không? Giúp mình cho trót bạn nhé.
 
Các cao thủ ai biết thì vui lòng giúp mình cái! Vấn đề thế này. Cột A từ A1 đến A400 mình sẽ nhâp số liệu vào hàng tháng. Cột B từ B1 đến B400 thì khoảng 4 năm mới có số liệu một lần nhưng không biết rơi vào tháng nào. Ô C1 đầu tiên là kết quả của SUM(A1:A400) nhưng khi trong cột B có số liệu thì ô C1 trả về kết quả SUM trên cột A từ vị trí cột B có số liệu đến A400 (SUM(A"từ vị trí cột B xuất hiện số liệu":A400)). Mình mới chập chửng Excell nên hiểu biết rất hạng chế mong các cao thủ hướng dẫn xin cảm ơn.
Không biết số liệu cột B xuất hiện như thế nào, tạm thời cứ cột B = A (giống như thí dụ) thì ra kết quả, nếu "hổng" phải thì ...từ từ sửa lại
Click nút phải chuột, chép code này vào, hy vọng......trúng. Hihi

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next
     Dim vung, cl As Range
        If Not Intersect(Target, Range("b2:b400")) Is Nothing Then
           Set cl = Target.Cells.Offset(0, -1)
           Set vung = Range(cl, cl.End(xlDown))
                If cl = cl.Offset(0, 1) Then cl.Offset(0, 2) = Application.WorksheetFunction.Sum(vung)
        End If
End Sub
 
to lopbop: Hiện tại mình chẳng biết công thức nào của chính excel xác định được cell cuối cùng trong 1 cột chứa dữ liệu nên mới dùng đến UDF trong GPE để giúp bạn, bạn nạp add-in đó 1 lần rùi dùng thôi chứ có ảnh hưởng gì đâu.
Vì kiến thức của mình còn hạn chế nên mong các pro giúp đỡ thêm cho bạn.
 
Cảm ơn bạn ditimdl rất nhiều! Tuy nhiên mình muốn có cách nào kết hợp các hàm có sẵn trong EXCELL để thực hiện yều cầu mà không dùng VBA không? Giúp mình cho trót bạn nhé.
Muốn công thức thì tặng bạn một cái công thức đây, ở cột B "quánh cái gì nó cũng ra kết quả (tại mình "hổng" biết bạn nhập cái gùi trong đó), có gì từ từ ...sửa
Thân
 

File đính kèm

Theo mình đó cũng là 1 cách, có điều khi muốn biết kết quả phải kéo xuống coi giá trị cuối của cột B nằm ở đâu mà xem kết quả. Hơi bất tiện tí nhưng đáp ứng được yêu cầu của chủ topic. Mình đang thử kết hợp address với small nhưng vẫn chưa được.
 
To bạn concogia: Để xuất kết quả ra báo cáo tháng và năm thì mình chỉ link lấy kết quả từ ô C2 thôi, và cột B thì xất hiện một số bất kỳ >0. Rất cảm ơn bạn và mong bạn tiếp tục giúp mình.
To bạn ditimdl: Vì mình chua biết VBA nên rất khó cho mình khi có vấn đề, mình không biết đường nào mà lần để sửa.
 
Từ công thức của hoangminhtien mình xin sửa lại công thức tại ô
D1=SUM(INDIRECT("A"&MATCH(9.99999999999999E+307,B:B)):A400)
Bạn thử nhé, không phải VBA gì nữa cả.
 
To bạn hoangminhtien: Công thức bạn cung cấp cho ra kết qua sai rồi!
 
To ban ditimdl: chép công thức này: SUM(INDIRECT("A"&MATCH(9.99999999999999E+307,B: B)):A400) vào ô D1 cho ra kết quả #NAME?
 
=SUM(OFFSET($A$1,MATCH(9.99999999999999E+307,B:B)-1,,COUNT(A:A)-MATCH(9.99999999999999E+307,B:B)+2,1))
Nếu bạn dùng công thức của hoangminhtien thì sửa lại tí.
 
To bạn concogia: Để xuất kết quả ra báo cáo tháng và năm thì mình chỉ link lấy kết quả từ ô C2 thôi, và cột B thì xất hiện một số bất kỳ >0. Rất cảm ơn bạn và mong bạn tiếp tục giúp mình.

Đến "bi" giờ yêu cầu trong bài của bạn đã giải quyết xong chưa hay còn chỗ nào vướng thì ta làm tiếp, vì trong bài chỉ là file giả lập nên có thể nhiều chỗ không hiểu rõ được yêu cầu
Thân
 
Bạn xem file đính kèm, mình để luôn 2 công thức trong đó luôn. Công thức như mình post lên thôi, không hiểu bạn làm sao mà nó lại ra NAME?
 

File đính kèm

Muốn công thức thì tặng bạn một cái công thức đây, ở cột B "quánh cái gì nó cũng ra kết quả (tại mình "hổng" biết bạn nhập cái gùi trong đó), có gì từ từ ...sửa
Thân

em thì làm như thế này bác xem co ok không nhé
 

File đính kèm

Mình nghĩ riết mà củng hổng biết cái E1+307 là gí trị gì. Làm ơn cho trót luôn đi các bạn.
 
=SUM(INDIRECT("A"&MATCH(E1+370,B:B)):A410) La công thức bạn ditimdl giúp mình tìm ra, nhưng E1+307 dược tính từ 0 đến số lớn nhất mà Excel hiểu. Mình muốn công thức tính từ 1 đến số lớn nhất được không, và phải làm sao? các bạn giúp mình nha.
 
Có phải bạn muốn khi cột B nhập số 0 thì nó bỏ qua còn những số >=1 thì nó sẽ chấp nhận và tính tổng từ đó?
 
Đúng rồi bạn ditimdl ơi.
 
Dữ liệu cột B bạn tự nhập hay copy từ nơi khác vào??
 
Dữ liệu tại cột B mình copy từ sheet khác vào.
 
Mình coi thấy bạn nên đơn giản hơn chút: C1=if(b1=0;" ";sum(A1:$A$400))
 
To hoangle17: Công thức của bạn không được.
 
Nếu dữ liệu copy từ một nơi khác vào thì trong vùng dữ liệu cột B cần có vài điều cho rõ ràng:
- Giả sử dữ liệu cột A được tính từ A2:A400, vậy khi copy dữ liệu từ nơi khác vào thì độ dài nó có = cột A không?(B2:B400) hay chỉ 1 khoảng nào đó?
- Khi copy dữ liệu từ nơi khác vào cột B, nếu độ dài cột B= cột A thì dữ liệu cột B bây giờ chỉ còn 2 giá trị 0 và >0 không có giá trị Blanks?, nếu độ dài cột B không = cột A thì nên dùng công thức để xác định 1 khoảng nào đó.
Bài toán này theo mình thì quá khó, mình đang tìm hướng đi mà chẳng biết phải đi đâu.
Chờ thêm cao nhân vậy!
 
Vì có nhiều sheet số liệu nên mình gom các lạo số liệu vào một sheet để tinh toán, khi lấy dữ liệu từ sheet này qua sheet khác bằng dấu (=) thì dù ô không có dữ liệu qua ô mới mặt nhiên trở thành số 0 và rắc rối xảy ra. Minh chép file lên bạn xem, hơi cùi bắp chút nhe! đừng cười vì mình đang tập tễnh mà.
 
Hồi nãy đang tải file thì bị cúp điện.
 

File đính kèm

Lần chỉnh sửa cuối:
file sau gửi lên nhiều sheet, nhiều cột quá, không biết làm ở đâu.
Làm mẫu file "vi dụ" vậy!.
Bạn nên xem lại mấy bài trước, làm thế này không phải theo yêu cầu của người ta.
Nếu làm như bạn thì công thức không cần phải dài vậy đâu
C=IF(B2>0,SUM(A2:$A$400),0) là được rồi.
To lopbop: cái phần bạn nhờ tính nó nằm ở sheet nào thế? Nhìn chóng mặt luôn :))
 
Lần chỉnh sửa cuối:
Bạn nên xem lại mấy bài trước, làm thế này không phải theo yêu cầu của người ta.
Nếu làm như bạn thì công thức không cần phải dài vậy đâu
C=IF(B2>0,SUM(A2:$A$400),0) là được rồi.
To lopbop: cái phần bạn nhờ tính nó nằm ở sheet nào thế? Nhìn chóng mặt luôn :))
Thế kết quả trả về 1 ô hay là dọc theo cột?
Nếu là trả về 1 ô thì đổi thành:C2 {=IF(B2>0,SUM(INDIRECT("A"&MAX(($B$2:$B$400>0)*ROW($B$2:$B$400))&":A400")),"")} hàm mảng
 
Lần chỉnh sửa cuối:
Bạn có test thử công thức chưa? Mình thử thấy kết quả không đúng. Cũng có thể bạn chưa hiểu cụ thể về yêu cầu của chủ topic??
 
To thanh_tks: sao mình copy công thức bạn cho chép vao ô bản tính nó không có kết quả!
 
Công thức đó là công thức mảng, sau khi chép công thức bạn kết thúc = 3 phím Ctrl+Shift+Enter
 
To ditimdl: Dữ liệu từ các biểu mình đổ về sheet 'TINH TOAN'! để tính thô, phần mình nhờ tính. Từ 'BIEU 03'! dữ liểu đổ qua sheet 'TINH TOAN'! từ cột AE đến cột BR, sau đó tại các cột "giờ máy vận hành" cuối cột (hàng 411) mình sum tổng. Dữ liệu nầy được công trừ với số liệu chốt tại sheet 'TOTAL'! vị trí từ A đến D hàng từ 66 đến 69, sau đó xuất ra báo cáo tháng phần tình hình sử dụng thời gian của thiết bị. Chịu khó xem giúp mình nhe.

À quên nữa. Thật ra giờ vận hành sau đại tu là tổng thời gian máy vận hành từ lần đại tu này đến lần đại tu sau (khoảng 4 năm lặp lại 1 lần).
 
Chỉnh sửa lần cuối bởi điều hành viên:
À quên nữa. Thật ra giờ vận hành sau đại tu là tổng thời gian máy vận hành từ lần đại tu này đến lần đại tu sau (khoảng 4 năm lặp lại 1 lần).
Đã đưa được file lên tại sao bạn không nói rõ cụ thể yêu cầu:
Ở sheet tên này, tôi muốn khi nhập "cái gì đó" ở cell (a) này thì kết quả ở cell (b) sẽ như thế này _ Kết quả sẽ là bài toán cộng trừ nhân chia... hay cái "quái" gì đó từ cell này đến cell này
Bạn ghi rõ yêu cầu ngay trong file của bạn để dễ hiểu
Bạn làm sao cho anh em hiểu sẽ giải quyết nhanh thôi mà
Thú thật, theo dõi topic này từ chiều đến giờ mới lơ mơ hiểu ( hình như là như thế này, cột A có dữ liệu, cột B là một đống số 0, nếu cột B khác 0 thì tính tổng ở A từ hàng cuối cùng ở B ngược lên tới hàng có số lớn hơn 0), "hổng" biết trúng trật nữa
 

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

Back
Top Bottom