TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MÔN KỸ THUẬT ĐO VÀ TIN HỌC CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP (HỆ ĐẠI HỌC CHÍNH QUY) ĐỀ TÀI ỨNG DỤNG EXCEL TRONG PHÂN TÍCH VÀ XỬ LÍ SỐ LIỆU Sinh viên thực hiện PHÙNG VĂN TOÀN Lớp DKTDH 05 K59 MSSV 20144555 Giảng viên hướng dẫn TS NGUYỄN CÔNG PHƯƠNG HÀ NỘI, THÁNG 06 NĂM 2019 LỜI NÓI ĐẦU Trong suốt quá trình học tập tại trường Đại học Bách Khoa Hà Nội, em đã học hỏi được rất nhiều kiến thức và kinh nghiệm học tập từ phía thầy cô và bạn bè Những kinh nghi.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MÔN KỸ THUẬT ĐO VÀ TIN HỌC CÔNG NGHIỆP -*** ĐỒ ÁN TỐT NGHIỆP (HỆ ĐẠI HỌC CHÍNH QUY) ĐỀ TÀI: ỨNG DỤNG EXCEL TRONG PHÂN TÍCH VÀ XỬ LÍ SỐ LIỆU Sinh viên thực : PHÙNG VĂN TOÀN Lớp : DK&TDH 05 K59 MSSV : 20144555 Giảng viên hướng dẫn : TS NGUYỄN CÔNG PHƯƠNG HÀ NỘI, THÁNG 06 NĂM 2019 LỜI NĨI ĐẦU Trong suốt q trình học tập trường Đại học Bách Khoa Hà Nội, em học hỏi nhiều kiến thức kinh nghiệm học tập từ phía thầy bạn bè Những kinh nghiệm quý báu giúp em nhiều công việc sống sau Là sinh viên chuyên ngành Kỹ thuật đo Tin học cơng nghiệp, sau học tập, tích lũy kiến thức có đủ khả đăng ký đồ án tốt nghiệp trường Trường Đại Học Bách Khoa Hà Nội, em giao tìm hiểu hồn thành đồ án: “Ứng dụng Excel phân tích xử lí số liệu” Đồ án tốt nghiệp em gồm Chương: Chương TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU Chương PHẦN MỀM PHÂN TÍCH DỮ LIỆU VÀ EXCEL Chương 3: ỨNG DỤNG EXCEL TRONG PHÂN TÍCH VÀ XỬ LÍ DỮ LIỆU Em xin chân thành gửi lời cảm ơn sâu sắc đến thầy cô trường Đại học Bách Khoa Hà Nội, đặc biệt thầy cô Viện Điện, chuyên ngành Kỹ thuật đo Tin học cơng nghiệp nhiệt tình dạy dỗ em suốt năm vừa qua Đặc biệt, em xin chân thành cám ơn Thầy Nguyễn Cơng Phương nhiệt tình, chu đáo hướng dẫn em hoàn thành đồ án tốt nghiệp Đồng thời, tơi xin cảm ơn bạn Khóa K59, trường Đại học Bách Khoa Hà Nội đồng hành, giúp đỡ tơi có kinh nghiệm, kiến thức q báu để tơi hồn thành đồ án tốt nghiệp Trong trình làm đồ án tốt nghiệp, em nhận thấy thân cố gắng Tuy nhiên, kiến thức kinh nghiệm thực tế nhiều hạn chế nên đồ án khơng thể tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp thầy, cơ, bạn bè Cuối em kính chúc q thầy, dồi sức khỏe thành công Hà Nội, ngày 31 tháng năm 2019 Sinh viên thực Phùng Văn Toàn MỤC LỤC CHƯƠNG I: TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU .1 1.1 Lí cần phải phân tích liệu 1.1.1 Dữ liệu .1 1.1.2 Phân tích liệu .4 1.2 Tầm quan trọng phân tích liệu 1.2.1 Tầm quan trọng phân tích liệu 1.2.2 Ứng dụng phân tích liệu .7 1.2.3 Khó khăn việc phân tích liệu 11 CHƯƠNG II: PHẦN MỀM PHÂN TÍCH DỮ LIỆU VÀ EXCEL 13 2.1 Những công cụ sử dụng để phân tích liệu 13 2.1.1 SAS 13 2.1.2 IBM SPSS Statistics 14 2.1.3 Stata: Software for Statistics and Data Science 15 2.1.4 R (The R Project for Statistical Computing) 16 2.1.5 Eviews 16 2.1.6 Skytree 17 2.1.7 Talend 17 2.2 Giới thiệu Excel lí sử dụng phần mềm Excel để phân tích liệu 18 2.2.1 Giới thiệu chung Excel 18 2.2.2 Các thao tác Excel 18 2.2.3 Phiên Excel Office 365 19 2.2.4 Lí lựa chọn Excel để phân tích liệu 27 CHƯƠNG III: ỨNG DỤNG EXCEL TRONG PHÂN TÍCH VÀ XỬ LÍ DỮ LIỆU 29 3.1 Nhập liệu/ nhập liệu tự động cho dãy biến đổi .29 3.2 Định dạng bảng 29 3.3 Tách/ Gộp liệu 30 3.4 Sử dụng hàm Excel .31 3.5 Vẽ biểu đồ .33 3.6 Dùng VBA để xử lý liệu 34 3.6.1 Dùng VBA tính tốn tìm cơng thức xấp xỉ độ rọi lux điện trở quang trở .35 3.6.2 Dùng VBA tự động phân tích liệu nhiệt độ ngày tháng 43 KẾT LUẬN 52 DANH MỤC VIẾT TẮT CTTT Công nghệ thông tin ATTT An tồn thơng tin SEO Search Engine Optimization EDA Phân tích liệu khám phá CDA Phân tích liệu xác nhận DANH MỤC HÌNH ẢNH Hình 1.1 Business Community…………………………………………………………………3 Hình 2.1 Biểu thị dân số quốc gia giới…………………………………………20 Hình 2.2 Biểu thị số khách mua hàng tiềm giai đoạn quy trình bán hàng………………………………………………………………………………………………20 Hình 2.3 Bút chì số để viết/phác thảo ý tưởng bút chì mới……………………………… 21 Hình 2.4 Bộ bút linh động tùy chỉnh Excel 365……………………………………21 Hình 2.5 Ứng dụng cách viết tay phương trình…………………………………………… .22 Hình 2.6 Biểu thị kiểm tra Trợ Execl office 365……………………………… 23 Hình 2.7 Chức bật gợi ý âm thanh…………………………………………… 23 Hình 2.8 Cách chèn liên kết đến website hay tệp điện tốn đám mây……… 23 Hình 2.9 Cải thiện khả sử dụng……………………………………………………… 25 Hình 2.10 Slicer chọn nhiều mục……………………………………………………… 26 Hình 2.11 Biểu thị người dùng thêm chỉnh sửa mối quan hệ bảng…………………27 Hình 3.1 Nhập liệu/ nhập liệu tự động cho dãy biến đổi đều……………………………… 29 Hình 3.2 Số liệu thô ban đầu trước tạo bảng……………………………………………… 29 Hình 3.3 Số liệu sau tạo bảng……………………………………………………………… 28 Hình 3.4 Số liệu thô ban đầu trước gộp liệu…………………………………………… 30 Hình 3.5 Số liệu thơ sau gộp liệu……………………………………………………… 31 Hình 3.6 Sử dụng hàm SUM để tính tổng đối tượng tham gia nghiên cứu…………………… 31 Hình 3.7 Sử dụng hàm AVERAGE để tính giá trị trung bình thu nhập đối tượng tham gia nghiên cứu……………………………………………………………………………… 32 Hình 3.8 Sử dụng lệnh Sort để để xếp tuổi từ thấp đến cao, thống kê người có độ tuổi thấp cao nhất…………………………………………………………………………… 32 Hình 3.9 Sau sử dụng lệnh Sort để để xếp tuổi từ thấp đến cao, thống kê người có độ tuổi thấp cao nhất…………………………………………………………………… 33 Hình 3.10 Biểu đồ thể loại chấn thương người bệnh liên quan đến chất lượng sống đối tượng………………………………………………………33 Hình 3.11 Vẽ biểu đồ thể loại chấn thương người bệnh liên quan đến chất lượng sống đối tượng………………………………………………………34 Hình 3.12 Cửa sổ Excel Options ……………………………………………… 34 Hình 3.13 Thanh cơng cụ thẻ Developer ……………………………………………………… 35 Hình 3.14 Cửa sổ Visual Basic for Applications……………………………………………… 35 Hình 3.15 Mối quan hệ điện trở (R) độ rọi (lux)……………………………………… 37 Hình 3.16 Mối quan hệ log(lux) log(R)…………………………………………………37 Hình 3.17 Lưu đồ thuật tốn …………………………………………………………………….38 Hình 3.18 Kết phân tích liệu độ rọi lux điện trở quang trở …………………… 41 Hình 3.19 Dữ liệu nhiệt độ………………………………………………………………………43 Hình 3.20 Import liệu vào excel từ file CSV……………………………………………… 44 Hình 3.21 Load liệu vào excel……………………………………………………………… 44 Hình 3.22 Lưu đồ thuật tốn dự báo nhiệt độ……………………………………………………45 Hình 3.23 Kết dự báo nhiệt độ………………………………………………………………47 Hình 3.24 Workbooks chứa kết phân tích dự báo……………………………………… 48 Hình 3.25 Kết loại bỏ dupliactes cột date…………………………………………………48 Hình 3.26 Kết dự báo nhiệt độ trung bình………………………………………………… 49 Hình 3.27 Kết dự báo nhiệt độ lớn ngày……………………………………… 50 Hình 3.28 Kết dự báo nhiệt độ nhỏ ngày……………………………………… 50 DANH MỤC BẢNG Bảng 1.1 Các loại liệu lưu trữ Exel DAX …………………………………… Bảng 1.2 Thông tin khảo sát người bệnh bị tai nạn giao thông khoa chấn thương – bệnh viện đa khoa Thái Bình…………………………………………………………………………… Bảng 3.1 Giá trị điện trở quang trở phụ thuộc vào ánh sáng……………………………… 36 Bảng 3.2 Giá trị lux tính theo cơng thức sai số tương đối……………………………………42 Bảng 3.3 Giá trị nhiệt độ trung bình, nhiệt độ lớn nhất, nhỏ thực tế dự báo……………51 CHƯƠNG I: TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU I.1 Lí cần phải phân tích liệu I.1.1 Dữ liệu Dữ liệu thông tin dạng kiện dạng số, thu thập để kiểm tra, đánh giá sử dụng để giúp định; dạng phiếu điện tử mà máy tính lưu trữ sử dụng Trước đây, liệu lưu trữ băng từ, có nhiều cơng cụ để lưu trữ liệu, ví dụ ổ đĩa cứng, phương tiện lưu trữ tháo rời, điện toán đám mây… (Nguồn: Từ điển Cambridge) Dữ liệu có nhiều hình thức khác nhau: hình ảnh, âm thanh, chữ viết, số…tùy thuộc vào cách thức lưu trữ mục đích sử dụng liệu người dùng Bảng 1.1 bảng 1.2 số ví dụ liệu Bảng 1.1 Các loại liệu lưu trữ Exel DAX1 Loại liệu Excel Loại liệu DAX Mô tả Các số khơng có dấu phẩy thập phân Số ngun số Số nguyên dương âm, phải số nguyên từ Số Nguyên 64 bit (tám -9,223,372,036,854,775,808 (-2^63) đến byte) 1, 9,223,372,036,854,775,807 (2^63-1) Số Thập Số thực 64 Số thực số có dấu phẩy thập phân Số thực trải phân bit (tám phạm vi rộng giá trị: byte) 1, Giá trị âm từ -1.79E +308 đến -2.23E -308 Không (0) Các giá trị dương từ 2,23E -308 tới 1,79E + 308 ĐÚNG/SAI Văn Boolean Chuỗi Tuy nhiên, số chữ số có nghĩa giới hạn đến 15 chữ số thập phân Giá trị phải Đúng Sai Chuỗi liệu ký tự Unicode Có thể chuỗi, số ngày biểu diễn định dạng văn Các loại liệu mẫu liệu Excel for Office 365 Excel 2019 Excel 2016 Excel 2013; https://support.office.com/vi-vn/article/c%C3%A1c-lo%E1%BA%A1i-d%E1%BB%AF-li%E1%BB%87u-trong-m %E1%BA%ABu-d%E1%BB%AF-li%E1%BB%87u-e2388f62-6122-4e2b-bcad-053e3da9ba90 Loại liệu Excel Ngày Loại liệu DAX Ngày/giờ Tiền tệ Không dụng Tiền tệ áp Giá trị trống Mô tả Độ dài chuỗi tối đa 268.435.456 ký tự Unicode (256 mega ký tự) 536.870.912 byte Ngày dạng biểu thị ngày-giờ chấp nhận Ngày hợp lệ tất ngày sau ngày tháng năm 1900 Loại liệu tiền tệ cho phép giá trị từ -922.337.203.685.477,5808 đến 922.337.203.685.477,5807 với bốn chữ số thập phân có độ xác cố định Giá trị trống kiểu liệu DAX đại diện thay giá trị null SQL Bạn tạo giá trị trống cách dùng hàm BLANK kiểm tra giá trị trống cách dùng hàm logic ISBLANK (Nguồn: Support.office.com) Bảng 1.2 Thông tin khảo sát người bệnh bị tai nạn giao thông khoa chấn thương – bệnh viện đa khoa Thái Bình STT 10 Nghề Bảo hiểm Nơi nghiệp y tế Nguyễn Văn Lịch 28 Nam THPT Cơng nhân Nơng thơn Có Vũ Đức Hạnh 47 Nữ Đại học Cơng nhân Thành thị Có Vũ Bá Ngọc 61 Nam THPT Tự Thành thị Có Tạ Xn Cảnh 30 Nam THPT Cơng nhân Nơng thơn Có Trần Văn Hiến 54 Nam THPT Công nhân Thành thị Không Vũ Xuân Anh 25 Nam Đại học Tự Thành thị Có Giang Văn Hùng 47 Nam THPT Cơng nhân Nông thôn Không Nguyễn Văn Điền 55 Nữ Dưới THPT Cơng nhân Nơng thơn Có Đỗ Ngọc Cường 61 Nữ Dưới THPT Khác Nơng thơn Có Đào Trọng Phạm 65 Nữ Đại học Khác Nơng thơn Có (Nguồn: Kết khảo sát bệnh nhân – Bệnh viện đa khoa Thái Bình năm 2018) Họ tên Tuổi Giới Học vấn Như vậy, với phát triển nay, khối lượng liệu tạo ngày lớn Có hai nguồn liệu phương tiện truyền thơng xã hội thông tin liên lạc Các phương tiện truyền thông xã hội Theo báo cáo Data Never Sleeps 5.0 Domo, lượng liệu tạo phút ngày phương tiện truyền thông xã hội:2 Người dùng Snapchat chia sẻ 527.760 ảnh Hơn 120 người có cơng ăn việc làm tham gia LinkedIn Người dùng tạo liệu ngày? https://www.brandsvietnam.com/15513-Nguoi-dung-tao-ra-baonhieu-du-lieu-moi-ngay Người dùng xem 4.146.600 video YouTube 456.000 tweet gửi lên Twitter Người dùng Instagram đăng 46.740 ảnh Với tỷ người dùng hoạt động, Facebook tảng truyền thông xã hội lớn hành tinh Và số liệu liên quan Facebook: tỷ người hoạt động Facebook ngày Châu Âu có 307 triệu người Facebook Cứ giây lại có tài khoản Facebook tạo nên Hơn 300 triệu ảnh tải lên ngày Mỗi phút có 510.000 bình luận đăng lên, 293.000 trạng thái cập nhật Instagram - Cũng thuộc sở hữu Facebook - chứng kiến mức tăng trưởng ấn tượng: Có 600 triệu người dùng Instagram, có 400 triệu người hoạt động ngày Mỗi ngày có 95 triệu hình ảnh video chia sẻ Instagram 100 triệu người dùng tính Stories Instagram ngày Hình 1.1 Business Community Thơng tin liên lạc Mọi người tạo liệu sử dụng phương thức liên lạc, từ gửi tin nhắn văn đến email Dưới thống kê lượng liệu thông tin liên lạc gửi phút:3 Người dùng tạo liệu ngày? https://www.brandsvietnam.com/15513-Nguoi-dung-tao-ra-baonhieu-du-lieu-moi-ngay Call AddFormula("lux_analysis", "Lux_Analysis", i, 6, formula$) If Cells(i, 6).value < Workbooks("lux_analysis").Sheets("rawData").Cells(2, 4).value Then Call VBColorCodes("lux_analysis", "Lux_Analysis", vbYellow, i, 6) End If Next i Call dinhDang("lux_analysis", "Lux_Analysis", 1, 1, last_row1, 6) Call dinhDang("lux_analysis", "Lux_Analysis", 1, 7, 3, 8) Call dinhDang("lux_analysis", "Lux_Analysis", 1, 9, 3, 10) End Sub Phụ lục 2(PL2): đoạn code chép vùng từ Sheets WorkBooks xang Sheets WorkBooks khác Sub CopySection(ByVal frmwkbook, ByVal frmwksht, ByVal r1, ByVal c1, ByVal r2, ByVal c2, ByVal towkbook, ByVal towksht, ByVal row, ByVal col) 'Select "from" Workbook and Worksheet ActivateWorkbook (frmwkbook) Worksheets(frmwksht).Select Range(Cells(r1, c1), Cells(r2, c2)).Select Selection.Copy 'Select "to" Workbook and Worksheet ActivateWorkbook (towkbook) Worksheets(towksht).Select Range(Cells(row, col), Cells(row, col)).Select ActiveSheet.Paste End Sub Phụ lục 3(PL3): đoạn code thêm công thức vào ô Excel Sub AddFormula(wkbook, wksht, row, col, formula$) 'Subroutine adds formula$ to the specified cell in a Worksheet ActivateWorkbook (wkbook) Worksheets(wksht).Select 'Ensure formula starts with "=" ! If Left(formula$, 1) "=" Then formula$ = "=" & formula$ End If Range(Cells(row, col), Cells(row, col)).Select ActiveCell.formula = formula$ End Sub Phụ lục 4(PL4): đoạn code điền nội dung vào ô Sub add_value(ByVal wkbook, ByVal wksheet, ByVal r, ByVal c, value) ActivateWorkbook (wkbook) Worksheets(wksheet).Select Cells(r, c).value = value End Sub Phụ lục 5(PL5): hàm xác định hàng cuối vùng liệu Function LastRow(Workbook, Worksheet) As Long 'This function will return the last ROW in the Worksheet of Workbook On Error GoTo Fix_it: ActivateWorkbook (Workbook) Sheets(Worksheet).Activate Workbooks(Workbook).Worksheets(Worksheet).Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Activate LastRow = FindRow(Selection.Address(ReferenceStyle:=xlR1C1)) Exit Function Fix_it: 'Debug.Print "Error Description: "; Error; " - Error Code: "; LastRow = End Function Phụ lục 6(PL6): hàm xác định cột cuối vùng liệu Function LastCol(Workbook, Worksheet) As Long 'This function will return the last COLUMN in the Worksheet of Workbook On Error GoTo Fix_it: ActivateWorkbook (Workbook) Sheets(Worksheet).Activate Workbooks(Workbook).Worksheets(Worksheet).Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Activate LastCol = FindCol(Selection.Address(ReferenceStyle:=xlR1C1)) Exit Function Fix_it: 'Debug.Print "Error Description: "; Error; " - Error Code: "; LastCol = End Function Phụ lục 7(PL7): hàm trả giá trị số ngun vị trí hàng Function FindRow(addr$) As Integer 'Pass Current Address in "R1C1" Format to this Function and it will Return the Row Number Dim i As Integer Dim strt As Integer, noc As Integer For i = To Len(addr$) If Mid$(addr$, i, 1) = "R" Then strt = i + End If If Mid$(addr$, i, 1) = "C" Then noc = i - strt End If Next i FindRow = Val(Mid$(addr$, strt, noc)) End Function Phụ lục 8(PL8): hàm trả giá trị số nguyên vị trí cột ô Function FindCol(addr$) As Integer 'Pass Current Address in "R1C1" Format to this Function and it will Return the Column Number Dim i As Integer Dim strt As Integer, noc As Integer For i = To Len(addr$) If Mid$(addr$, i, 1) = "C" Then strt = i + noc = Len(addr$) - i End If Next i FindCol = Val(Mid$(addr$, strt, noc)) End Function Phục lục 9(): đoạn code gộp hai ô lại với Sub gop(wkbook, wksht, r1, c1, r2, c2) 'Subroutine adds formula$ to the specified cell in a Worksheet ActivateWorkbook (wkbook) Worksheets(wksht).Select Range(Cells(r1, c1), Cells(r2, c2)).Select Selection.merge End Sub 10 Phụ luc 10(PL10): đoạn code thực việc tô màu ô Sub VBColorCodes(wkbook, wksheet, ByVal vb_color_name As String, ByVal row As Integer, ByVal col As Integer) Workbooks(wkbook).Worksheets(wksheet).Activate Dim vbColorValue(1 To 8) As Long Dim vb_color As Long Select Case vb_color_name Case vbBlack vb_color = Case vbRed vb_color = Case vbGreen vb_color = Case vbYellow vb_color = Case vbBlue vb_color = Case vbMagenta vb_color = Case vbCyan vb_color = Case vbWhite vb_color = Case Else vb_color = End Select 'Colors() = Split(ColorNames, ",") vbColorValue(1) = vbColorValue(2) = 255 vbColorValue(3) = 65280 vbColorValue(4) = 65535 vbColorValue(5) = 16711680 vbColorValue(6) = 16711935 vbColorValue(7) = 16776960 vbColorValue(8) = 16777215 Cells(row, col).Interior.Color = vbColorValue(vb_color) Cells(row, col + 1).Font.Color = vbColorValue(vb_color) End Sub 11 Phụ lục 11(PL11): đoan code định dạng bảng kết Sub dinhDang(Workbook, Worksheet, ByVal r1, ByVal c1, ByVal r2, ByVal c2) Range(Cells(r1, c1), Cells(r2, c2)).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With With Selection.Borders(xlEdgeTop) LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With With Selection.Borders(xlEdgeBottom) LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With With Selection.Borders(xlEdgeRight) LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With With Selection.Borders(xlInsideHorizontal) LineStyle = xlContinuous ColorIndex = TintAndShade = Weight = xlThin End With End Sub 12 Phụ lục 12(PL12): đoạn code xử lý dự báo nhiệt độ Sub weather_1() Application.ScreenUpdating = False Dim last_col As Integer, last_row As Integer Dim i As Long, day As Long Dim j As Long, tem As Long, tmp As Long Dim k As Integer, formula$ Dim day_arr() Dim date_col As Long, time_col As Long, Temperature_p_col As Long last_row = LastRow("weather_1", "data_raw") day = (last_row - 13) / 24 Call CopySection("weather_1", "data_raw", 13, 1, last_row, 6, "weather_1", "data", 1, 1) Cells(1, 9).Value = "date" Cells(1, 10).Value = "time" Cells(1, 11).Value = "Temperature per hour" For j = To day For i = To 25 tem = (i + (j - 1) * 24) Cells(tem, 9).Value = Cells(tem, 1).Value & "/" & Cells(tem, 2).Value & "/" & Cells(tem, 3).Value Cells(tem, 10).Value = Cells(tem, 4).Value & ":" & Cells(tem, 5).Value Cells(tem, 11).Value = Cells(tem, 6).Value Next i Next j date_col = FindCol(FindPos("weather_1", "data", "date", False, False)) time_col = FindCol(FindPos("weather_1", "data", "time", False, False)) Temperature_p_col = FindCol(FindPos("weather_1", "data", "Temperature per hour", False, False)) Call loc_ngay("weather_1", "data", "analysis", date_col, 1) Call can_chinh For k = To 24 Call CopyCell("weather_1", "data", k + 1, time_col, "weather_1", "analysis", 1, k + 1) Next k For j = To day For i = To 25 tem = (i + (j - 1) * 24) tmp = j + Call CopyCell("weather_1", "data", tem, Temperature_p_col, "weather_1", "analysis", tmp, i) Next i Next j Call dinh_dang("weather_1", "analysis", 1, 1, day + 1, 28) Cells(1, 26).Value = "T_Average" Cells(1, 27).Value = "T_Max" Cells(1, 28).Value = "T_Min" For j = To day formula$ = "=AVERAGE(B" & Trim(Str(j + 1)) & ":Y" & Trim(Str(j + 1)) & ")" Call AddFormula("weather_1", "analysis", j + 1, 26, formula$) formula$ = "=MAX(B" & Trim(Str(j + 1)) & ":Y" & Trim(Str(j + 1)) & ")" Call AddFormula("weather_1", "analysis", j + 1, 27, formula$) formula$ = "=MIN(B" & Trim(Str(j + 1)) & ":Y" & Trim(Str(j + 1)) & ")" Call AddFormula("weather_1", "analysis", j + 1, 28, formula$) Next j Call add_workbook("weather_forecast1") Call CopySheet("weather_1", "analysis", "weather_forecast1", "Sheet1") Call forecast("weather_forecast1", 2, 1, day, 26, "forecast_T_Average") Call forecast("weather_forecast1", 2, 1, day, 27, "forecast_T_Max") Call forecast("weather_forecast1", 2, 1, day, 28, "forecast_T_Min") Workbooks("weather_forecast1").Save Workbooks("weather_forecast1").Close MsgBox "complete" End Sub 13 Phụ lục 13(PL13): đoạn code dùng để dự đoán nhiệt độ ngày Sub forecast(Workbook, ByVal r1, ByVal c1, ByVal r2, ByVal c2, ByVal name) Workbooks(Workbook).Activate Sheets("analysis").Select ActiveWorkbook.CreateForecastSheet Timeline:=Sheets("analysis").Range( _ Cells(r1, c1), Cells(r2, c1)), Values:=Sheets("analysis").Range(Cells(r1, c2), Cells(r2, c2)), ForecastEnd:= _ "5/17/2019", ConfInt:=0.99, Seasonality:=1, ChartType:= _ xlForecastChartTypeLine, Aggregation:=xlForecastAggregationAverage, _ DataCompletion:=xlForecastDataCompletionInterpolate, ShowStatsTable:=False ActiveSheet.name = name End Sub 14 Phụ lục 14(PL14): đoạn code tạo thêm Workbooks Sub add_workbook(ByVal name_wordbook) Workbooks.Add 'ChDir "C:\Users\Public\Documents" ActiveWorkbook.SaveAs Filename:= _ "C:\Users\Public\Documents\" & name_wordbook & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False 'Workbooks("weather_focast").Close End Sub 15 Phụ lục 15(PL15): đoan code loại bỏ duplicates cột Sub loc_ngay(ByVal wbook, ByVal fromwsheet, ByVal towsheet, ByVal columnX As Long, ByVal columnY As Long) ActivateWorkbook (wbook) Sheets(fromwsheet).Activate Columns(columnX).Select Application.CutCopyMode = False Selection.Copy Sheets(towsheet).Activate Columns(columnY).Select ActiveSheet.Paste Application.CutCopyMode = False ActiveSheet.Columns(columnY).RemoveDuplicates Columns:=1, Header:=xlYes End Sub 16 Phụ lục 16(PL16): đoạn code copy liệu từ ô xang ô khác Sub CopyCell(ByVal frmwkbook, ByVal frmwksht, ByVal r1, ByVal c1, ByVal towkbook, ByVal towksht, ByVal r2, ByVal c2) 'Copies the "Chunk" Bounded by r1,c1,r2,c2 in frmwkbook to towkbook starting at row,col 'Select "from" Workbook and Worksheet ActivateWorkbook (frmwkbook) Worksheets(frmwksht).Select Cells(r1, c1).Select Selection.Copy 'Select "to" Workbook and Worksheet ActivateWorkbook (towkbook) Worksheets(towksht).Select Cells(r2, c2).Select ActiveSheet.Paste End Sub 17 Phụ lục 17(PL17): đoạn code copy Sheets xang Sheets khác Sub CopySheet(ByVal frmwkbook, ByVal frmwksht, ByVal towkbook, ByVal towksht) 'Select "from" Workbook and Worksheet ActivateWorkbook (frmwkbook) Worksheets(frmwksht).Select Cells.Select Selection.Copy 'Select "to" Workbook and Worksheet ActivateWorkbook (towkbook) Worksheets(towksht).Select Range("A1").Select ActiveSheet.Paste ActiveSheet.name = "analysis" End Sub 18 Phụ lục 18(PL18): đoạn code active Workbooks Sub ActivateWorkbook(wbname$) 'Activate the desired Workbook 'Compensates for Hide Extensions of Known File Type Error 'in Excel On Error GoTo ChangeStatts Workbooks(wbname$).Activate Exit Sub ChangeStatts: Select Case Err Case wbname$ = wbname$ & ".xlsx" Workbooks(wbname$).Activate 'Debug.Print "New Name: "; wbname$ Case Else dummy = MsgBox("An Unanticipated Error No." & Str(Err) & " Occurred !", vbOKOnly, "Error") End Select End Sub 19 Phụ lục 19(PL19): đoạn code tìm vị trí giá trị cần tìm Sheets Function FindPos(ByVal wkbook$, ByVal sheet, ByVal cellcts$, ByVal SearchHidden As Boolean, ByVal MatchCase As Boolean) As String 'Pass Contents that you are looking for in sheet via cellcts$ 'Function will return the address of location of contents 'wkbook$ = Workbook name 'sheet = Worksheet name in string or numeric form (variant) 'cellcts$ = searching for 'SearchHidden = search in hidden Cells too? True/False 'MatchCase = differentiate between upper and lower case? True/False Dim Msg$ On Error GoTo NotFound Call ActivateWorkbook(wkbook$) Worksheets(sheet).Select 'Make Sure an Entire Row or Column is not selected, this will 'cause this function to only search rows or columns - not both 'which will result in failure Range("A1").Select 'Find Results on Sheet Select Case SearchHidden Case True 'Search Includes Hidden Cells Cells.Find(What:=cellcts$, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=MatchCase).Activate Case False 'Search Omits HiddenCells Cells.Find(What:=cellcts$, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=MatchCase).Activate End Select FindPos = Selection.Address(ReferenceStyle:=xlR1C1) Exit Function NotFound: Msg$ = "Could Not Find Instance of " & cellcts$ Select Case Application.DisplayAlerts Case True MsgBox "Not Found!", vbExclamation + vbOKOnly, Msg$ Case False 'Why is Application.DisplayAlerts always shown in Debug as Application.DisplayAlerts = TRUE? Debug.Print Msg$ End Select End Function 20 Phụ lục 20(PL20): hàm FORECAST.ETS http://thuthuat.taimienphi.vn/ham-forecast-ets-trong-excel-34394n.aspx) excel.(nguồn Hàm Forecast.Ets Excel sử dụng thuật toán lũy thừa để dựa đoán giá trị tương lai timeline, dựa chuỗi giá trị có Cú pháp hàm FORECAST.ETS Excel có dạng: FORECAST.ETS( [aggregation] ) target_date, values, timeline, [seasonality], [data completion], Trong đó: - target_date: Ngày/giờ mà bạn muốn dự đốn giá trị (Phải sau ngày/giờ cuối dòng thời gian lịch sử) - Values: Mảng giá trị biết lịch sử mà bạn muốn dự báo thời điểm - Timeline: Mảng ngày/giờ độc lập, tương ứng với giá trị Đối số phải đáp ứng yêu cầu đây: + Mảng timeline phải có độ dài với mảng values + Ngày/giờ timeline phải có độ dài bước quán với nhau, mặc dù: - Có thể lên đến 30% số điểm bị thiếu xử lý, theo giá trị đối số [data completion] - Có thể có timeline, giá trị tương ứng tổng hợp, cách định nghĩa đối số [aggregation] + Ngày/giờ có timeline sử dụng định dạng - [seasonality]: Tùy chọn Đối số cho biết thuật tốn sử dụng để phát tính thời vụ liệu Nếu cung cấp, đối số phải số nguyên dương khoảng từ đến 8784 (Như hình 20.1) Hình 20.1: Bảng giá trị đối số [seasonality] hàm FORECAST.ETS - [data completion]: Tùy chọn Đối số định cách mà thuật tóa sử dụng để xử lý điểm bị thiếu timeline Nếu cung cấp, đối số [data completion] giá trị 1(Như hình 20.2) Hình 20.2: Bảng giá trị đối số [data completion] hàm FORECAST.ETS - [aggregation]: Tùy chọn Đối số định cách thuật toán tổng hợp giá trị có thời gian Nếu cung cấp, đối số số nguyên khoảng từ đến 7(Như hình 20.3) Hình 20.3: Bảng giá trị đối số [aggregation] hàm FORECAST.ETS Lưu ý: hàm Forecast.Ets.Stat giới thiệu Excel 2016, hàm khơng có sẵn phiên Excel trước đó, khơng có sẵn Excel 2016 cho Mac ... đồ án: ? ?Ứng dụng Excel phân tích xử lí số liệu? ?? Đồ án tốt nghiệp em gồm Chương: Chương TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU Chương PHẦN MỀM PHÂN TÍCH DỮ LIỆU VÀ EXCEL Chương 3: ỨNG DỤNG EXCEL TRONG PHÂN... ban đầu: Hình 3.4 Số liệu thơ ban đầu trước gộp liệu Bảng liệu sau sử dụng lệnh IF để gộp biến (Như hình 3.5) Hình 3.5 Số liệu thơ sau gộp liệu 3.4 Sử dụng hàm Excel Sử dụng hàm Sum để tính tổng... TÍCH DỮ LIỆU I.1 Lí cần phải phân tích liệu I.1.1 Dữ liệu Dữ liệu thông tin dạng kiện dạng số, thu thập để kiểm tra, đánh giá sử dụng để giúp định; dạng phiếu điện tử mà máy tính lưu trữ sử dụng