Bài viết: Cách viết hàm hiệu quả

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,716
CÁCH VIẾT HÀM HIỆU QUẢ

Bạn biết đấy, Hàm là 1 trong những tính năng hữu ích nhất của Excel. Nhưng nó cũng là vấn đề muôn thuở với mọi người, nhất là những người mới học Excel. Làm thế nào để viết Hàm hiệu quả nhất có thể? "Hiệu quả" nghĩa là hiệu quả cho bạn và công việc của bạn, chứ không phải hiệu quả cho Excel để tính toán.

Xem ví dụ dưới đây về 1 Hàm hiệu quả. Trong hình, cột A và B là 2 cột chứa dữ liệu về nhân viên. Cột E và F được thiết lập như 1 bảng tóm tắt số lượng nhân viên trong từng bộ phận. Ta sử dụng hàm COUNTIF để tính (xem hàm cụ thể tại ô G).

rD2YeWfuXcgbYzXWN-5CRjpYUaeIbB04ACanW8xGI-Ev6KMIOvKqgTF2lgzipBRakfx2KcJkthrflx08DguaojYTiIJOiCJk18ZeDBNDLq22aSwvU4qpU5XT8kzLd-kW2TQTXgDKno_S8QqUnH_CSSsGwt7N4KRDrvg2voU2uB1XebRuGoi3a-MAy-4ksjD60-pT8OulcSLUDyvt9BkCx9MTp4XBICy-gtNKzTB3TdUADqbfzdyJ7lgdCw3-EiknfP7Hf8cRXGtoAy6xmHg0qVWecyK9qsPvRxtYAlaJrBa9N6uXMhU09uKt6PjODIDvkfSh9i-6noGvwk4af7hwEk80xft5YLtjAF12kpKA-CENVvuFHstQFt30My9kQs1l8si5Shl5KDoTwthT60A-JGDqF8DeOFobdcUYfEYlbb2t4IWOST4SWVX15zf6Zw2d7k56gQf5WuTjL8WYbBf83c0Afj8-vIG7B66eFhFW_mlqZdDRbmjlYGGxTfvy-aDQAkytR0NgtJu5-yi3bNY88hBbjuu9wFme_ax1V18KXyc5ul7_s298BHhk90rpmHp7SSO2D8ySZtb5jpnWmedMw3mAeAsUMyz7d5xRGxg9xwZUkLHEbGE=w829-h504-no


Xét về mặt kỹ thuật, hàm này được viết ra đúng, vì các kết quả được trả về chính xác. Nhưng nó không phải là cách viết hiệu quả. Vì sao vậy? Vì điều kiện để đếm (được đóng khung màu đỏ trong hình trên), đã được nhập dưới dạng văn bản. Điều này có nghĩa là, mỗi công thức trong cột F phải được sửa đổi đối với từng bộ phận. Thật mất công.

Cách hiệu quả hơn là đặt mỗi điều kiện đếm vào mỗi ô tương ứng như bạn có thể thấy trong ví dụ tại cột H trong hình dưới đây (đậc biệt trong ví dụ này, các điều kiện đếm đã được đặt sẵn trong cột E).

lx44Nn7yrTzLDyPLn-Pb0js4_gfeAPCBQ3rQdq1BOhIdvNf_zqJxCzp5dfxWcOT3i56XBpgLTNIj8BX_WKQZ-zASer4yaj7UTp7t3qH6M9sPvLkuKy9Y1Cjs3ErhMfBKTFJFzesXXESC1HIvJiqP6I-XA90uFGjQPZehuon7QyfFue06L8qjaaPYjOHmsKpbQbcSPQFaYd4frnGXekJa2dTA7ccFnlajsTuWYqEFaXK1o-Gz33fp3RJeJPKYkT2MKvrCpSVJZcJgKXXSYAwNNaP51IbMUEdMzZAQaGA8g5Ealo9SsKQf-zEzYVXVmXPECs7FCZV4qKJRUkYmCxnftC5pgtxRj_VM3YT7TNZiroAOzKl3RWT2sCRwgoqZnqcV_bEVmkdBkhg83lQOwEtd2oS2EeKboarkQCZNRz0ZjGvzo1MosgjAbFiVs7P4nNuIWxNQv-_WhYUZoJa7hQoUJnNhuVC1uugLzHgCYSTEZIGKmDCShSZlSFpW1oXDnowAlnQfJWXfWkju8OfezMbJhTTbmveoUAlNCo5Fk4Ugw9eXNVWd6v-fNkrMzyAu12k3y98-0ZhSaErMX6iPG1d29c7_0OONcpkZnQWhtkery_GL_7hRvN0=w846-h203-no


Hàm được viết theo cách này sẽ:
- Nhanh: với cách viết hàm hiệu quả tại cột H như trong hình, bạn chỉ việc nhập vào cột F2, sau đó Copy xuống các dòng ở dưới và công việc của bạn được thực hiện chớp nhoáng
- Dễ dàng cập nhập: nếu bạn cần thay đổi tên Bộ phận trong cột E, hàm của bạn sẽ tự động nhận tên mới mà không cần phải thêm hay sửa hàm.
- Trực quan: người dùng Excel có kinh nghiệm hy vọng rằng các hàm có thể được Copy và Paste cho tất cả các ô liền kề với ô chứa hàm. Vì vậy, nếu 1 người nào đó được thừa hưởng tập tin của bạn và họ chỉnh sửa hàm, họ sẽ làm như vậy tại các ô trên cùng bên trái trong vùng của hàm, và sau đó Copy - Paste vào các ô còn lại trong bảng. Tuy nhiên, điều này có thể dẫn đến sai sót, nếu họ không chú ý đến hàm của bạn, giả sử 15 dòng ở dưới và 3 cột về bên phải là khác nhau vì bạn đã nhập thêm vào một số điều kiện.

Bên dưới là ví dụ cho việc Copy và Paste một hàm vào nhiều ô được xem là hữu dụng, hàm SUMIFS ở ô G2 có thể được viết một lần và được Copy cho 14 ô còn lại trong bảng tổng hợp:

hT9fNQkqd22aRRhsGZfiWaI_MyT9-1SFN90ybYASdu-5gfkjRKt10vRX8jFcTVV8n_yZZP9k4jwSk4c452v4esVwte2e204qzM-PG8ec0ndD-LkYxIXHuiSGX4LRv-HUX1Qa0fhzSsD5FYj14mDcfFRSB9VIL7tiS9clyLcxpTam_V0NGA6WOOypHcet3HA7a1IUrlj3VN_oEwwAS-FXk-fyIal8BpGGnu5WQ4D9xz7aglXum2BebGTQ7O01sSpjHuITyVEK1wLY6uHjY0_3s3xOveoY-5kkJrn13kWClWaExWx0DILi-cOs-Jt3r9LpEzNLNuPGjRt28tHhyZBsVPH4gzImf896nUME8BW33Bplm8QTzhq-cDl7fLoj64fiwZjenClhu_2SA1i-aShoxxaSDiuBLjCwjXgiLM7InjGvmF_K9gy3k_YXRbC2FyS-Y8Qrn7myyxMSjK98-lzVR3fhUXxkaTKp16jxX4dzoYQRlJBKmMN9TZrKUt08mlIMUCr6wHRu-CFBfdlCB2pPoMjEP6MDEEstAqWEo1OA-k20AzbqtaJlCdXcC2l8DTInLvfGT2lIxxwimDE9n2a6O-WRFjDQ3jmWvNfZfzXToy5DeW45pK8=w997-h559-no


Trái ngược với cách viết không hiệu quả:

=SUMIFS($D$2:$D$64,$A$2:$A$64;"Giám đốc",$C$2:$C$64,2012)

Chú ý rằng sự khác nhau giữa một hàm hiệu quả với hàm không hiệu quả là: Hàm không hiệu quả đòi hỏi phải nhập 15 hàm khác nhau, trong khi hàm hiệu quả chỉ nhập một lần và sau đó chỉ việc Copy và Paste vào các ô còn lại trong bảng tính.

ĐỊA CHỈ TUYỆT ĐỐI VÀ ĐỊA CHỈ TƯƠNG ĐỐI


Bên cạnh đó, một hàm hiệu quả là một hàm có thể tận dụng các địa chỉ tuyệt đối và tương đối. Các ký hiệu $ trong công thức được quy định khi một địa chỉ là tuyệt đối hoặc tương đối.

Khi Copy và Paste một công thức bao gồm các địa chỉ dòng/cột được dẫn trước bởi ký hiệu $ thì không thay đổi (nghĩa là tuyệt đối), trong khi bất kỳ địa chỉ mà không có ký hiệu $ sẽ bị thay đổi tương đối đến số và hướng của ô được di chuyển.

Chú ý rằng các địa chỉ ô có cột và dòng chỉ địa chỉ tuyệt đối sẽ ký hiệu là $D$2. Một số chỉ có địa chỉ cột tuyệt đối: $F2. Và những ô khác chỉ có địa chỉ dòng tuyệt đối: G$1.

ĐẶT NAME VÙNG

Các mẹo trên sẽ giúp bạn tân dụng Excel và các địa chỉ tuyệt đối/tương đối để làm nhiều việc, và đó là bước khởi đầu tốt nhưng các địa chỉ ô này làm cho hàm phức tạp trong việc đọc và viết.

Bạn có thể làm tốt hơn nữa bằng cách sử dụng Name vùng thay cho các địa chỉ ô. Lấy lại ví dụ trên, hàm SUMIFS có thể được viết như sau:

OUgr4LowJKy69UNqAdzqbhqX1SgoCwudSapN96I0faKYg1u5DN5ms77nnIHJYdCDM0cRW7GNWpqe4oruCUlMUCFFedr-A3pH4-cKg_YdQSAsrgWyhBHCoe2Ke1xzl-DsjFvWJdccctFG2Ru6eC1tQ7BTZqTOHxoPGoXGL0A7WMMeALbbX1pRD35TJ3kVrWUHDU2rGgVAg4OUMyLGRzdxccfm2JM9cbUXfkyZVpW-MotdiZG4feuusRbX91HS_Kr63NMPtHiY8hxIAbSww5LiWYqt1dUMaOc6Xr5JrDSwhsHYj5SjvIbsWwkyPDZZ9wARWvAsgtLhRZ6x33GozDV0oboFACUYu87LNdebZR7FpgOzYRKMf_n6yZo2eJ8F84queMv0OXuEWEjgx-pSsQNnztU-eKYBGAKMAr10zWUb3_UU5fDPlLgKIBWT6AKLbRbQ5iHUNUBoAx5pz8son69yupk24W4Zsb4OA06sv4I8wYinIKpB7Nj46Y7NgSW6DiqVTkkqC0ZQlJ3nhj9u1aPeg_qhzO-jy4ci5Cf40QlRvP2HfkGFaogA-UN6nGwpcXc3x8En7bV0tTeMsYqCHe7ybgOOE8eEMv3kF_lqniGx_ETy7fW8HAM=w979-h287-no


Bây giờ, đây có phải là cách dễ hơn để đọc? Nó cũng sẽ nhanh hơn cho việc viết khi chỉ đánh Name vùng vào hàm hoặc nhấn F3 để chọn từ danh sách tên.

Name vùng là cách thức đơn giản nhất cho phép ta đưa các vùng, ô vào một Name mà sau đó, có thể được dùng ở vị trí các ô tham chiếu thực. Ví dụ sau đưa ra cách đặt Name cho các vùng được dùng trong hàm SUMIFS: $D$2:$D$22 tên là "Luong".

1/ Kéo chọn vùng D2:D22 -> chọn thẻ Formulas -> Define Name.

SP7Lh7kwfQ5gKb3kokiyACu8v5anS8YP97ggpD6SJzkUa-aoKP8oy16I78fdt4cJmbOxiAakVJFzRYm7wQ3rSnHNWPRrVEgQwVdYl7SrS5LK2Ccy5cfxXHttUe9Y4G32sIa-q6iXngVwsahX9EA15XIpYK7uP8R-a3BA4JN3qs-PWHK1At0ZqazHYsHJZOFovuDH76hlyvfCFJT8wkcEp3ZPqRZ7R_RNURiYkvM6os-i6zq59rGX_-OyWp5Zt0A0fIgIkQ7PT37hrFxe-vHpWUqensuFRyPvHtJoH_8lqZ2wxb85aAqp-D1KWg9Qih5wh4CWiVX-1Cr0GZkO8sl6J5Ju0CiSyeOEhlm_x0AZTTftFKZu624Cr2WTWavwU2pXzRI01rEg2RPsJB1vPJgzvusPoTT2OMQDKzJ-0qpUPq0LVnKPphIpLfY7-O8IwMAX07n5zB8Ck9L294D8z1Xlfa9IHp4FV5Is7BtM79PbUi8ZZrhYHw_kz_AyvCC6LjDQCi5U0WIoPn18D4I76I4GRaHiQVkM9basypgfBIlWMH2YZv1frTANbUFP3QDyh52D0R19QUAjCFlu-Yo_ChdyCDmyZjMuIS6tefh6fHvVRYuv2Fsg7is=w994-h669-no


2/ Trong hộp thoại New Name, đặt tên Luong cho mục Name, ngoài ra bạn có thể thêm Comment để ghi chú ý, tránh bị nhầm lẫn với những Name khác. Sau đó bạn bấm OK.

3/ Làm tương tự với 2 vùng còn lại :
- $A$2:$A$64 tên là "BoPhan".
- $C$2:$C$64 tên là "Nam".

HC0rjmcwPNl-DNB0Yr5WYzBL5Hg-fttv28Gte3tKJoyURzlBDCU4jNQV5pRKs61cqkZZj1UauxYjPfVkpq3d2cRCqCZwhxftwYdlYzfleV2x9Zpb6M4n_xftxKphikXt_84Sll5_7J8oIH859pGHPwmSBfA-SwdNtNRR1ZmR-fDzm2LYKaxhzhheXLoPmJm6s9wGmZwM6e__MZhV87CjeCDwWq5ust7-JtJ-33GKOF6uSnCL8cVxaAllZIXDXC853E5b7kugHxc4Bfcnb9kSblO687xr2ajl1pECxzJhdloEB3M6-ay3AIoJFb1kW-N7hMGa8R8KtPz7KBOiOeyxYjDZBD7gs3QHZaAn_ugQC6ZH8A_3PQhMq4fU7ALDG_1OWgCxfx7GVGN5HbCB5trwqMO_3QgoCD_H71uh_k-mmd2cLorYjNcjZBEbLXFCZyrwUwNVgmEbDPv7bQ7otaBxmqe_bSCr29FRe_dGszXR5SGl1-JMCdxfCAmGkN0w-Vq0Rj_dNujQJUKbHg8d2X1tuZMPHdSYzAh_C4rVcJT-zhbAG2YiCQiaMQ0tHakP-1cTPgCXgShyJnNWOZeNBb1wnAmh7RMy-zCEwWW2eb558mgr3bJ5ckY=w985-h315-no


Vì vậy công thức dưới đây:

=SUMIFS($D$2:$D$64,$A$2:$A$64;$F2,$C$2:$C$64,G$1)

Có thể được viết lại như sau:
=SUMIFS(Luong,BoPhan;$F2,Nam,G$1)

Khi bạn đã nắm vững Name vùng, bạn có thể quan tâm đến Name động. Đây là vùng sẽ tự động mở rộng/thu hẹp khi bạn thêm/bớt dữ liệu hoặc dựa trên các điều kiện mà bạn quy định. Bạn có thể tạo ra 1 vùng động bằng cách sử dụng hàm OFFSET hoặc hàm INDEX. Nếu bạn thấy khó khăn và có hơi chút sợ sệt trong việc sử dụng 2 hàm trên, vẫn còn cách khác dễ dàng hơn. Đó là sử dụng Excel Tables.

EXCEL TABLES

Bạn có thể sẽ bỏ lỡ cách này nếu không quen thuộc với Excel Tables. Excel Tables là 1 trong những tính năng hữu ích nhất mà chỉ có ở phiên bản Excel 2007 trở về sau, và nó là 1 trong những tính năng ít được sử dụng nhất.

Các tính năng sau của Excel Tables sẽ cách mạng hóa cách bạn viết công thức :
- Tham chiếu cấu trúc (Structured References): Loại tham chiếu này cho phép bạn sử dụng tên Table/cột trong hàm thay vì tham chiếu ô như A1 hoặc R1C1. Tham chiếu cấu trúc hoạt động giống như Name vùng, và vì nó là 1 phần của Table, bạn không cần phải cài đặt chúng cách thủ công.
- Name động: Các Tham chiếu cấu trúc luôn động, điều này có nghĩa là khi bạn thêm dữ liệu mới vào Table, vùng Table sẽ tự động nới rộng ra và kết nạp các dữ liệu mới vào.

Tham chiếu cấu trúc là 1 thay thế tuyệt vời khi hàm OFFSET và INDEX cứ quay vòng vòng trong đầu bạn.

Làm việc với Tham chiếu cấu trúc
Có rất nhiều cách để tham chiếu đến các bộ phận của Table, và trong ví dụ dưới đây, bạn có thể thấy các tham chiếu cụ thể được tạo thành từ các tên trong Table (Table1), và tiêu đề cột, mà chúng ta có thể gõ hoặc chọn từ danh sách.
Tính năng lựa chọn từ danh sách là 1 trong những tính năng tuyệt vời của Excel Table. Khi bạn vừa gõ 1 ít chữ cái trong tên Table/cột, 1 danh sách các tên Table/cột sẽ hiện ra (tương tự như Name vùng), và bạn có thể dễ dàng lựa chọn chúng.

PYWvbCN5dASfyyUDRBT8z2sae3AUH4uddF9YHdCPQXJx18w0kF0WSdNr8S8FIO5NO__-rC5t796-o51TYxU8JVPvDh14VNZ3bn8CCmBO02fbKLrUdF8zfzm2I5J71GT_QL1_eMBHwNkTmEVCNauL6JpO1qgUnhWpzniX1bIYjbUYlWIUvDYfF41353KtzHhhSQH44Xg5h3SGCW4cKXlhbHbRoJO9AqFdyxOFTUaJunSVoMr8ZDoqWYC7XwHxJ1kaGp1nD_GRzOyQMu3I61oSi1oPQTmBux_rBGwStaG1Oh_08bZKoDVWA-5GdtBPLbT4nLWMClkwPrTCT0As3sFe4p-NTE1jGWAh4i2gKAcyTWt3kvK54cBBV7kaGo2761tLIuKvg5iRWvA_SNtLrP-YOjYFWj0rtUuAIOQbhTe4yZ-Jy1VL6j5P6Xzc97_xrFXdFJewbyHPmjYCCZLIN_tVUVT3zlx4sQCxj3SbtbIb_jZyeozFI3HCzpPlEZwob7ioa2UyDyZRj4RjQ0_FnSBsMBbE8UoCfXoxSRAUdzHpanx-Ne59e7w6b2IlrUtIQ4P9RDZ9-wV_506JlwXhX-fNyrmM8vZ_53nPlwwtSLU2Yg33M2f-pdw=w1031-h308-no


Với Tham chiếu cấu trúc, hàm của chúng ta tại ô G2 sẽ trở thành :

=SUMIFS(Table1[Tiền lương],Table1[Bộ phận],$F2,Table1[Năm],G$1)

Những Name vùng đã được thay thế bằng Tham chiếu cấu trúc của Table (ví dụ : Table[Tiền lương],…)

THAM SỐ ROW_NUM VÀ COLUMN_NUM

Một số hàm có các tham số là row_num hoặc column_num. Ví dụ :
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
INDEX(array, row_num, column_num)

Bạn đang làm việc với hàm VLOOKUP cho bảng dữ liệu lớn. Bạn muốn chèn thêm cột vào bảng dữ liệu của bạn. Như vậy, tham số "col_index_num" trong hàm VLOOKUP bạn đang dùng sẽ không còn đúng nữa, và tất nhiên, bạn cũng sẽ không nhận được kết quả chính xác. Cũng vậy, thật không hiệu quả khi phải tự cập nhật lại các tham số "col_index_num". Hơn nữa, tự cập nhật lại sẽ phá vỡ quy tắc "viết 1 lần và Copy - Paste cho tất cả" trong việc viết hàm hiệu quả.

Thay vào đó, chúng ta có thể sử dụng hàm COLUMN hoặc COLUMNS và kết hợp khéo léo giữa địa chỉ tuyệt đối và tương đối để kết quả "col_index_num" được tự động trả về. Hàm COLUMNS sẽ trả kết quả là số đếm của cột trong vùng mà bạn vạch ra, tương tự như vậy, hàm ROWS sẽ trả kết quả là số đếm của dòng trong vùng đó.

Ví dụ, hàm được viết tại ô C3 dưới đây : =COLUMNS($B$1:B1) và kết quả là 1. Nghĩa là độ rộng của cột B1:B1 là 1. Và khi copy qua các cột D và E, vùng tham chiếu sẽ tăng lên 1 cột (tức là $B$1:C1 và $B$1:D1) và do đó kết quả trả về là 2 và 3 tương ứng, như chúng ta có thể thấy trong hình dưới đây:

PBemYkpsyRSHEq4Q-R4OiDMnia2QTKTEACwNXRBSBUAByfRdQfWuXpuyZJQiWooy8RafzNDdRC9klGGBU5hn2ZefmTHFbS_9cmUBPFzIqG422YpQyejipJRHuqPWqKE2hqKmchrZ66oYCEADuSY9PaXIeeQz-LvIaEvQpUrb05tbAa-zWS0538zfP3deD-sluJhlCl8ZYoI8cR37XO7kiEdIufhz2eOOVsTOsH68Y8xsuWROC5KNRdLS93wx5i9Kqk32QG2o77JHr5cjhI7xonJlXv8Z5B7u89PGY_-ke1Ce4txrxeIl3R2Qomg91g8X4xMeL6kMFHmD6wObo36Yk_2ezjZ1SB4r42KM7yFPTmZX-uaRPcP2U_LFXiwZH1JhtESnhc_f7T6QIh9d6ndZ9lTq-Kof7AgydVNgCIT1XrlyXUyDVi80n9V1Q0HjNBUzs-7Wz_XxN2YIu-dKx5hWDVCZ4Pk7moLjAHEIYNOS9Bax96lQJF2vVph35RQErVroi4YWhfvEWtQwPORQ8uRa4UwGGiIKqT20Ic19ho2eimnOVnqfmMfVekQTKIz2RjeFWavgCz1uaB4n4H9Gbj8SOx_XLj2GDKLISMvhZ-7BkHCuzJt6YfM=w685-h138-no


Vì vậy, thay vì từ từ mã hóa từng tham số col_index_num trong hàm VLOOKUP, bạn có thể sử dụng hàm COLUMNS để có số cột tự động tăng lên, khi bạn Copy hàm COLUMNS vào các cột về bên phải.

Mẹo : Vì bạn chỉ đếm cột mà không cần phải tham chiếu đến các dòng trong vùng dữ liệu, bạn có thể viết công thức ngắn gọn : =COLUMNS($A:B) và kết quả là 2.

Chú ý : bạn cũng đừng quên tham số row_num (trong hàm HLOOKUP hoặc INDEX). Vì thế bạn sẽ sử dụng hàm ROWS thay cho hàm COLUMNS.

KẾT LUẬN
Bài viết này được viết ra với hy vọng có thể giúp ích cho bạn trong việc viết cũng như giải thích và cập nhật hàm cách nhanh chóng có thể.
Bạn nên hướng đến viết 1 công thức cho các ô trên cùng bên trái trong bảng tính của bạn, hoặc ô đầu tiên trong cột chứa hàm, và sau đó Copy hàm đi khắp nơi nó cần phải đến. Bất kỳ sự thay đổi về vùng hoặc các điều kiện, … cũng tự động cập nhật trên những nơi bạn Paste hàm.

Chúc bạn thành công,
Nguyễn Bảo Khanh.

Một số bài viết có liên quan:
1/ Chiêu thứ 13: Sao chép công thức giữ nguyên tham chiếu tương đối
2/ Tham chiếu trong Excel (1)
3/ Tham chiếu trong Excel (2)
 
Lần chỉnh sửa cuối:
Upvote 0
Bổ sung: Để sử dụng hiệu quả các hàm thì cần lưu ý các yếu tố sau:
1. Viết hàm mang tính tổng quan, hạn chế tham chiếu tĩnh (ngay cả đối với chỉ số Col_index_Num của hàm Vlookup() cũng có thể tham chiếu động).
2. Lưu ý việc cố định địa chỉ tham chiếu (cố định hàng, cột).
3. Sử dụng hàm bẫy lỗi
4. Dùng hàm kết hợp
5. Bố trí dữ liệu khoa học theo ma trận hàng _ cột, Sheet..
 
Web KT

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

Back
Top Bottom