Nhng mo nh khi dùng công thc trong excel
Mt sai lm rt ln khi s dng công thc là cho nó tham chiếu đến toàn b các ct trong mng d liu. Điu này làm cho Excel phi kim tra hàng ngàn ô,
nếu không nói là hàng triu, để chc chn không b sót mt d liu nào.
Ví d, gi s bn có mt mng d liu t A1 đến H1000, và bn quyết định s dùng nhng hàm tìm kiếm ca Excel để trích ra nhng d liu cn thiết. Bi vì bn còn phi b
sung thêm d liu vào mng này, nên đ chc ăn, bn to tham chiếu trong công thc đến toàn b các hàng ca các ct trong mng này. Khi đó, tham chiếu ca bn có th s là
A:H, hoc c th hơn, là A1:H65536. Bn nghĩ rng làm như vy thì bn s không lo lng gì khi thêm d liu vào trong mng.
Đó là mt thói quen vô cùng tai hi mà bn phi luôn tránh xa nó. Bi nó s làm cho bng tính tr nên ì ch, thm chí là không chy ni. Bn vn có th loi b nhng phn
không cn tham chiếu ra khi công thc, mà li bo đảm được nhng d liu mi thêm vào s t đng đưc cp nht trong tham chiếu ca công thc, bng cách dùng Table
trong Excel 2003 tr v trước) hoc s dng các Name động.
Mt vn đề na thưng xy ra vi nhng bng tính ln, mà cu hình máy li nh, là Excel tính toán rt chm khi d liu được cp nht. Để gii quyết vn đề này, bn thưng
được khuyên là hãy chuyn đổi chế độ tính toán ca Excel thành dng Manual: Nhn vào nút Office góc trái phía trên ca bng tính, ri chn Excel Options Formulas
Excel 2003 tr v trước, chn menu Tools Options Calculations), ri chn Manual :
Chn Manual Caculation vi Excel 2007
Chn Manual Caculation vi Excel 2003
Tuy nhiên, li khuyên đó thì không hay cho lm, mà ch là mang tính đi phó. Mt bng tính thì bao gi cũng có nhng công thc tính toán, nếu bn đang chy mt bng tính
trong chế độ tính toán Manual, có th bn s ch có được nhng thông tin cũ mèm, chưa h được cp nht. Nếu mun có được thông tin chính xác, bn phi nhn F9. Nhưng,
chc chn là không phi lúc nào bn cũng nh điu này! Vy bn th cân nhc xem: Nếu như cn thng chân b kt và làm cho chiếc xe hơi ca bn chy chm li, bn s
sa li cn thng chân, hay là g b cái thng chân ri tin tưởng hoàn toàn vào cái thng tay? Nghĩa là, khi bng tính ca bn chy chm, bn s sa li công thc cho nó chy
nhanh hơn, hay là đt nó vào chế độ tính toán bng tay ri c thế mà làm tiếp? Hu như chúng tôi không bao gi làm điu này, nhưng rt nhiu người đã không ngn ngi đt
bng tính ca h trong chế độ tính toán Manual. Nếu như bn thy rng cn phi đặt bng tính ca mình trong chế độ tính toán Manual thì mi làm vic được, bn nên suy nghĩ
đến vic thiết kế li bng tính.
Công thc mng là mt trong nhng nguyên nhân ca vn đề trên. Chúng là mt la chn tt khi tham chiếu đến nhng ô riêng l. Nhưng nếu bn dùng chúng để tham chiếu đến
nhng dãy d liu ln, thì hãy s dng chúng càng ít càng tt. Khi có mt s lượng ln các mng tham chiếu đến mt dãy d liu ln, hiu sut ca bng tính s b nh hưng,
đôi khi nó dng hn luôn, và bn bt buc phi dùng chế độ tính toán bng tay.
Excel có nhiu hàm chuyên x lý nhng d liu ln thay cho công thc mng, mà s được đề cp đến trong chiêu th 79: Tránh li #VALUE! khi tính tng (SUM) hoc đếm
(COUNT) các ô. Ngoài ra, trong Excel Help có mt s ví d rt hay s giúp bn cách để dùng công thc trên nhng bng d liu ln để trích ra kết qu da theo nhng tiêu
chun. Hoc bn có th s dng Pivot Table, s được đề cp đến trong phn th 4 ca lot bài này. Mc dù PivotTable thì có v phc tp khi bn s dng nó ln đầu tiên,
nhưng chúng tôi thành tht khuyên bn hãy hc cách s dng nó. Mt khi bn đã làm ch đưc PivotTable, ngày nào đó bn s t hi rng làm sao tôi có th sng mà không có
PivotTable!
Trước khi kết thúc phn m đầu, xin nói điu này: Nếu bn chng nh được gì (vì tôi nói nhiu quá), bn ch cn nh mt chuyn thôi: Excel s chy tt hơn nếu tt c các d
liu ca bn được xếp liên tc vi nhau trong cùng mt bng. Nó s giúp cho bn thc hành các chiêu sau đây mt cách d dàng hơn.
Ngăn chn người s dng thc hin mt s hành động nào đó nht định
Mc dù Excel có h tr vic bo v cho bng tính (Protect Sheet, Protect Workbook), nhưng công c thô sơ này không bao gm vic
ch cho phép người s dng mt s đặc quyn hn chế - tr khi bn làm theo nhng chiêu sau đây.
Excel: Mi ngày mt tuyt chiêu
Bn có th qun lý vic tương tác vi các bng tính ca bn bng cách giám sát và đáp ng các s kin. Các s kin (event), là nhng hành động xy ra khi bn làm vic vi các
bng tính hoc các Sheet. Nhng s kin này thường bao gm vic m (open) mt bng tính, lưu (save) nó, và đóng (close) nó. Bn có th bo Excel chy nhng mã Visual
Basic (macro) mt cách t động khi xy ra bt k mt trong nhng s kin như thế.
Tuy nhiên, bn nên biết rng, ngưi s dng có th vượt qua tt c nhng mã bo v bi Visual Basic bng cách vô hiu hóa vic thc thi các macro: Nhn nút Office
Opions Trust Center Trust Center Setting Macro Settings [E2003: Tools | Macro | Security]. Nếu đặt mc độ an toàn là Disable all macros with notification
mc Medium], mi khi m mt bng tính có cha macro, Excel s xut hin mt hp thông báo và cho phép người s dng có cơ hi để tt các macro. Nếu đặt mc độ an toàn là
Disable all macros without notification [E2003: mc High], Excel s ngăn không cho chy tt c các macro có trong bng tính. Nói cách khác, khi cn phi dùng các macro có
trong bng tính, người s dng s chn mt mc an toàn thích hp để cho phép s dng các macro.
Ngăn chn vic lưu li bng tính vi mt tên khác
Bn có th thiết lp thuc tính "Read only" cho bt k mt bng tính nào, bng cách nhn Office Save, nhn nút Tools, chn General Options [E2003: File | Save As | Tools |
General Options] và kích hot hp kim Read only recommended. Vic này ngăn chn người s dng lưu li nhng thay đổi trên bng tính, tr phi h lưu li bng tính vi mt
tên khác hoc lưu vào mt nơi khác.
Tuy nhiên, có th điu bn mun là không cho lưu li bng tính ca bn vi tên khác, cũng không cho lưu vào mt nơi khác. Nói cách khác, bn mun ngưi khác ch có
th lưu li bng tính này vi chính tên gc ca nó, ch không được sao chép nó. Điu này đặc bit hu dng khi có nhiu người cùng s dng chung mt bng tính, và bn không
mun trong cng ca mình đầy dy nhng bn sao ca bng tính này, cho dù là vi mt tên khác, hay mt thư mc khác.
S kin Before Save mà tôi sp nói đến đã có t thi Excel 97. Đúng như tên gi ca nó, s kin này ch xut hin ngay trước khi bng tính được lưu, cho phép bn can thip kp
thi vic lưu li bng tính, đưa ra mt cnh báo, và không cho Excel lưu bng tính.
Trước khi t thc hin điu này vào bng tính, hãy chn chn rng bn đã lưu li bng tính ca bn. Bi vì vic đưa đon code sau đây vào môt bng tính chưa đưc lưu, có th
s gây cho bn nhiu rc ri.
Để đưa đon code sau vào bng tính, bn hãy chn Develope Visual Basic (hoc nhn Alt+F11), và nhp đúp chut vào mc ThisWorkbook trong khung
Project Explorer. Nếu trên Ribbon ca bn không có mc Develope, bn hãy vào trong Excel Options Popular, đánh du vào tùy chn Show Develope tab in the Ribbon
ri nhn OK. [E2003, nhn phi chut vào biu tượng Excel ngay bên trái menu File trên thanh menu, và chn mc View Code, như minh ha hình bên dưi]: