Cách dùng hàm SumProduct và Công thức mảng

Cách dùng hàm SumProduct và Công thức mảng

Hàm SumProduct:
Cấu trúc SUMPRODUCT(array1,array2,array3, …)
Array – Mảng dữ liệu là một tập hợp dãy giá trị liên tiếp trong một khảng nào đó. VD A1:C1 hoặ A1:A10,…


Phép tính này cho phép chúng ta tính tổng của tích array1*array2*array3* …array30.
VD: A: Số lượng; B: Đơn giá
A1 =2 B1=20 C1=”Cam” D1=”Giống lai”
A2 =3 B2=10 C2=”Bưởi” D2=”Không”
A3 =4 B3=25 C3=”Cam” D3=”Không”



Bây giờ cần tính doanh thu của các loại hoa quả
array1=A1:A3
array2=B1:B3
Công thức =SumProduct(A1:A3, B1:B3) = 170
Bản chất công thức làm việc như thế này =A1*B1+A2*B2+A3*B3 kết quả là 170
Nhắc lại về phép tính logic:
Giá trị kiểu logic chỉ cho ra 1 trong 2 giá trị là TRUE/1, FALSE/0
Phép toán logic:<, >, <>, =, >=, <=, Not()
VD:
2>3=False
3>1=True
4>3=True
*) Logic và – AND
=(2>3)*(3>1)*(4>3)=False*True*True=0*1*1=False/0 tương đương với hàm AND(2>3,3>1,4>3). Ít nhất một logic=False thì kết quả sẽ là False hay 0.
* Logic hoặc – OR
=(2>3)+(3>1)+(4>3)=False+True+True=0+1=True/1 tương đương với hàm OR(2>3,3>1,4>3). Ít nhất một logic=True thì kết quả sẽ là True hay 1.
Lưu ý tổng của các giá trị là True=True=1).


*) Tính tổng có nhiều điều kiện:
Cách 1: dùng SUMPRODUCT
Tính tổng doanh thu của loại là “Cam”
=SUMPRODUCT(A1:A3,B1:B3*(C1:C3=”Cam”)) hoặc =SUMPRODUCT(A1:A3*B1:B3*(C1:C3=”Cam”)) = 140
Công thức tính như sau:
=A1*B1*(C1=”Cam”)+A2*B2*(C2=”Cam”)+A3*B3*(C3=”Cam”)
=2*20*True+3*10*False+4*25*True
=2*20*1+3*10*0+4*25*1= 140
Cách 2: dung Công thức mảng – “Formula Array”
=Sum(IF(C1:C3=”Cam”,A1:A3*B1:B3,0))
Kết thức nhẫn tổ hợp CTRL+SHIFT+ENTER. Với cách làm này EXCEL sẽ phân tích như sau:
Xét trên từng dòng trong mảng (array)
dòng1: (c1=”Cam”)=true nên lấy A1*B1=2*20
dòng2: (c2=”Cam”)=false nên lấy 0 (theo cách của lấy của hàm IF)
dòng3: (c3=”Cam”)=true nên lấy A3*B3=4*25
Sau khi chạy hết các dòng, EXCEL sẽ dùng hàm SUM để tính tổng kết quả tính được ở từng dòng=2*20+0+2*25=140. Nếu trong công thức là hàm khác hàm SUM thì cách tính sẽ theo hàm đó.


Như vậy có 2 cách tính:


=SUMPRODUCT(A1:A3*B1:B3*(C1:C3=”Cam”)) và
=Sum(IF(C1:C3=”Cam”,A1:A3*B1:B3,0))

*) Vậy tại sao không dùng là =SUM(A1:A3*B1:B3*(C1:C3=”Cam”))
mà phải dùng hàm =SUMPRODUCT(A1:A3*B1:B3*(C1:C3=”Cam”)) ?

Các bạn nhớ lại cấu trúc của SUM là
SUM(number1,number2, …)
Còn SUMPRODUCT là
SUMPRODUCT(array1,array2,array3, …)
number <> array


Nếu SUMPRODUCT(A1:A3*B1:B3*(C1:C3=”Cam”)) rồi ENTER là đúng vì đối số của nó phải là mảng – Array.


Nếu công thức =SUM(A1:A3*B1:B3*(C1:C3=”Cam”)) rồi ENTER kết quả là #VALUE! -lỗi vì A1:A3 là một array chứ không phải là một number.


Nếu nhấn tổ hợp CTRL+SHIFT+ENTER. Với cách làm này EXCEL sẽ phân tích như sau:
Xét trên từng dòng trong mảng (array)
dòng1: A1*B1*(c1=”Cam”)=2*20*True=2*20*1
dòng2: A2*B2*(c2=”Cam”)=3*10*False=3*10*0
dòng3: A3*B3*(c3=”Cam”)=2*25*True=4*25*1


Sau khi chạy hết các dòng, EXCEL sẽ dùng hàm SUM để tính tổng kết quả tính được ở từng dòng=2*20*1+3*10*0
+4*25*1=140.


Vậy vẫn dùng được =SUM(A1:A3*B1:B3*(C1:C3=”Cam”)) với điều kiện nhấn tổ hợp phím CTRL+SHIFT+ENTER


Như vậy đến đây chúng ta có có 3 cách tính:


=SUMPRODUCT(A1:A3*B1:B3*(C1:C3=”Cam”)) nhấn phím ENTER
=SUM(IF(C1:C3=”Cam”,A1:A3*B1:B3,0)) nhấn phím CTRL+SHIFT+ENTER
=SUM(A1:A3*B1:B3*(C1:C3=”Cam”)) nhấn phím CTRL+SHIFT+ENTER


Chúng có thể kết hợp rất nhiều điều kiện vào trong hàm thông qua phép toán logic nhân-và- And, cộng – hoặc – Or.


*) Dùng hàm SUMPRODUCT hay dùng SUM kết hợp CTRL+SHIFT+ENTER đều cho ra được kết quả như nhau chính là do phép toán logic của bạn.
*) Hàm SUMPRODUCT chỉ có thể tính tổng theo nhiều điều kiện
*) Công thức mảng – Formula Array ngoài việc tính tổng có nhiều điều kiện còn làm rất nhiều phép tính khác do cách sử dụng hàm mà thôi.




Theo Nguyễn Duy TuânGPE

Read more

Sách Excel 2013 Power Programming with VBA pdf

Sách Excel 2013 Power Programming with VBA pdf

The new Excel 2013 boasts updated features, enhanced power, and new capabilities. Naturally, that means John Walkenbach returns with a new edition of his bestselling VBA Programming book and covers all the methods and tools you need to know in order to program with Excel. With this comprehensive guide, “Mr. Spreadsheet” shows you how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf.


Featuring a complete introduction to Visual Basic for Applications and fully updated for the latest features of Excel 2013, this essential reference includes an analysis of Excel application development and is packed with procedures, tips, and ideas for expanding Excel’s capabilities with VBA.


  • Offers an analysis of Excel application development and a complete introduction to VBA
  • Features invaluable advice from “Mr. Spreadsheet” himself, bestselling author John Walkenbach, who demonstrates all the techniques you need to create Excel applications, both large and small
  • Covers navigating the Excel interface, formatting worksheets, interacting with other Office applications, working with collaboration tools, and using sample workbooks and John Walkenbach’s award-winning Power Utility Pak to help enhance your Excel skills
  • Provides tips, tricks, and techniques for expanding Excel’s capabilities with VBA that you wont find anywhere else

Excel 2013 Power Programming with VBA is packed with procedures, tips, and ideas for achieving Excel excellence with VBA.


Loại sách có liên quan phiên bản mới hơn:


Sách Excel 2016 Power Programming with VBA pdf




Download Excel 2013 Power Programming with VBA

Read more

Microsoft Excel 2019 All in one for Dummies ( 8 books in one ) pdf

Microsoft Excel 2019 All in one for Dummies ( 8 books in one ) pdf

Pages: 984 – Year : 2019 – Size : 25 MB – English


Make Excel work for you 


Excel 2019 All-In-One For Dummies offers eight books in one!! It is completely updated to reflect the major changes Microsoft is making to Office with the 2019 release. From basic Excel functions, such as creating and editing worksheets, to sharing and reviewing worksheets, to editing macros with Visual Basic, it provides you with a broad scope of the most common Excel applications and functions—including formatting worksheets, setting up formulas, protecting worksheets, importing data, charting data, and performing statistical functions. 
   
The book covers importing data, building and editing worksheets, creating formulas, generating pivot tables, and performing financial functions, what-if scenarios, database functions, and Web queries. More advanced topics include worksheet sharing and auditing, performing error trapping, building and running macros, charting data, and using Excel in conjunction with Microsoft Power BI (Business Intelligence) to analyze, model, and visualize vast quantities of data from a variety of local and online sources.  


  • Get familiar with Worksheet design
  • Find out how to work with charts and graphics
  • Use Excel for data management, analysis, modeling, and visualization
  • Make sense of macros and VBA

If you’re a new or inexperienced user looking to spend more time on your projects than trying to figure out how to make Excel work for you, this all-encompassing book makes it easy!




Download: Microsoft EXCEL 2019 All in one for Dummies ( 8 books in one ) pdf

Read more

VBA Excel tách họ tên

VBA Excel tách họ tên

Khi nhập liệu vào bảng tính Excel, thông thường ta nhập cả họ và tên vào cùng một ô. Tuy nhiên, có khi sau đó ta cần phải tách riêng tên ra khỏi họ và tên đệm, nếu làm thủ công bằng thao tác sao chép rồi dán qua ô khác thì sẽ rất bất tiện. Ngoài ra có những lúc bạn phải xắp xếp lại theo thứ tự A,B,C,…
Nếu sử dụng hàm Right kết hợp với một vài hàm khác thì cũng có thể cho ra kết quả như bạn muốn, nhưng trong một số trường hợp sẽ cho kết quả không chính xác. Có một phương pháp tối ưu hơn sẽ giúp bạn hoàn thành tốt công việc này, cách thực hiện cũng khá đơn giản như sau:
– Trên bảng tính chứa cột họ tên cần tách, bạn chọn menu Tools > Macro > Visual Basic Editor, lập tức xuất hiện chương trình Microsoft Visual Basic.
– Tiếp theo, bạn nhấn menu Insert và chọn Module sẽ xuất hiện một cửa sổ soạn thảo.


Bạn nhập đoạn mã lệnh sau vào cửa sổ soạn thảo:






Private Function Tachten(ten As String, lg As Integer)
Dim j As Integer
     Name = Trim(ten)
  For j = Len(Name) To 1 Step -1
    If Mid(Name, j, 1) = " " Then
       If lg = "1" Then
          Tachten = Right(Name, Len(Name) - j)
       Else
          Tachten = Left(Name, j)
       End If
  Exit For
    End If
  Next
End Function





– Bạn nhấn Ctrl+S để lưu lại và quay trở về bảng tính Excel.
– Bây giờ để tiến hành tách riêng họ và tên đệm vào một ô mới, bạn đặt con trỏ tại ô mới chứa họ và tên đệm rồi nhập vào công thức =TachTen(B3,0) và nhấn Enter sẽ thấy ngay kết quả.
– Để tách riêng tên vào một ô mới, bạn đặt con trỏ tại ô sẽ chứa tên cần tách và nhập vào công thức =TachTen(B3,1) rồi nhấn Enter là xong.
Ghi chú: B3 chính là địa chỉ của ô ban đầu chứa cả họ, tên đệm và tên.

Read more