Tính tổng con và mẹ

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

bactu

Thành viên thường trực
Tham gia
19/10/07
Bài viết
304
Được thích
277
Donate (Momo)
Donate
Tính tổng con và mẹ.Thanks!BB!
 

File đính kèm

Nếu cột A bạn thêm dấu nháy ở các đầu số, chẳng hạn:

'111
'112
'151

thì có thể bạn sẽ có công thức:

=SUMIF($A$2:$A$7,G2&"*",$B$2:$B$7)

Em đã chuyển $A$2:$A$7 thành chuổi và so sánh độ dài tương ứng khi cộng trong công thức bằng một mảng khác. Sao lại kết quả lại là VALUE??? SUMIF(DATA1,TRIM($G2),VALUE)

Giúp E giải thích với???
 
Lần chỉnh sửa cuối:
Mượn cái SUMIF của anh Nghĩa bỏ vô cho đúng 2 dòng cuối:
=IF(SUMPRODUCT(($A$2:$A$7=$G2)*($B$2:$B$7))=0,SUMIF($A$2:$A$7,G2&"*",$B$2:$B$7),SUMPRODUCT(($A$2:$A$7=$G2)*($B$2:$B$7)))

Mượn ý tưởng của Hoàng Trọng Nghĩa và giangleloi, E sửa lại như sau:

=SUMIF(DATA,IF(ISNA(MATCH($G2,DATA,0)),$G2&"*",$G2),VALUE)
 
Mượn ý tưởng của Hoàng Trọng Nghĩa và giangleloi, E sửa lại như sau:

=SUMIF(DATA,IF(ISNA(MATCH($G2,DATA,0)),$G2&"*",$G2),VALUE)

Nếu công thức của bạn là đúng thì thay ISNA + MATCH thành COUNTIF sẽ ngắn hơn:
Mã:
=SUMIF(DATA,IF(COUNTIF(DATA,$G2),$G2,$G2&"*" ),VALUE)
hoặc:
Mã:
=SUMIF(DATA,$G2&IF(COUNTIF(DATA,$G2),,"*" ),VALUE)
 
Lần chỉnh sửa cuối:
Nếu công thức của bạn là đúng thì thay ISNA + MATCH thành COUNTIF sẽ ngắn hơn:
Mã:
=SUMIF(DATA,IF(COUNTIF(DATA,$G2),$G2,$G2&"*" ),VALUE)
hoặc:
Mã:
=SUMIF(DATA,$G2&IF(COUNTIF(DATA,$G2),,"*" ),VALUE)

A ndu96081631 coi lại bài #6 giúp E, bị lỗi gì vậy?
Thanks!
 
A ndu96081631 coi lại bài #6 giúp E, bị lỗi gì vậy?
Thanks!

Cú pháp của SUMIF là: SUMIF(range, criteria, [sum_range])
Chỗ màu đỏ phải là range (vùng dữ liệu thật) chứ không thể là 1 mảng
Vậy thôi!
(Name DATA1 của bạn là 1 Array, không phải Range)
-------------------
Nói thêm: COUNTIF cũng tương tự vậy, tức không chơi với Array
 
Cú pháp của SUMIF là: SUMIF(range, criteria, [sum_range])
Chỗ màu đỏ phải là range (vùng dữ liệu thật) chứ không thể là 1 mảng
Vậy thôi!
(Name DATA1 của bạn là 1 Array, không phải Range)
-------------------
Nói thêm: COUNTIF cũng tương tự vậy, tức không chơi với Array

Thanks!
E sửa lại =SUMPRODUCT(--(DATA1=TRIM($G2)),VALUE)

Cám ơn A nhiều!
 
Nhưng chưa biết ndu ơi, cần câu trả lời của ndu, nếu không cần chi mà hỏi?
PHP:
Option Explicit
Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
PHP:
Sub DoThoiGian()    Dim T1@, T2@, Freq@, Overhead@    QueryPerformanceFrequency Freq    QueryPerformanceCounter T1    QueryPerformanceCounter T2    Overhead = T2 - T1    QueryPerformanceCounter T1        'Thu tuc cua ban        test1    'Thu tuc ban  phai lam        'Ket thuc chay thu tuc, nhan thoi gian ket thuc    QueryPerformanceCounter T2    'Debug.Print (T2 - T1 - Overhead) / Freq * 1000; "milliseconds(ms)"    MsgBox "milliseconds(ms): " & (T2 - T1 - Overhead) / Freq * 1000End Sub
PHP:
Sub test1()'' test1 Macro'
'    Range("B10").Select    ActiveCell.FormulaR1C1 = "=SUMIF(R3C1:R7C1,RC[-1],R3C2:R7C2)"    Range("B10").Select    Selection.AutoFill Destination:=Range("B10:B12"), Type:=xlFillDefault    Range("B10:B12").SelectEnd Sub
PHP:
Sub test2()'' test2 Macro'
'    Range("C10").Select    ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R3C1:R7C1=RC[-2])*R3C2:R7C2)"    Range("C10").Select    Selection.AutoFill Destination:=Range("C10:C12")    Range("C10:C12").SelectEnd Sub
Anh cú thử đo thời gian xem, em nghĩ sẽ rõ hơn. Em te st thử đoạn này cũng thấy nhanh hơn. Cái này hình như trong phần về Sumproduct của Tác giả Duy Tuân có nói cái này thì phải
 
Anh cú thử đo thời gian xem, em nghĩ sẽ rõ hơn. Em te st thử đoạn này cũng thấy nhanh hơn. Cái này hình như trong phần về Sumproduct của Tác giả Duy Tuân có nói cái này thì phải

Ghi macro người ta còn không biết, bạn đưa cả đống hàm API lên, người ta biết mới lạ đó --=0+-+-+-+
 
Web KT

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

Back
Top Bottom