Có thể bạn quan tâm: Cách Chuyển Đổi Múi Giờ Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu: Tại Sao Cần Chuyển Đổi VN2000 Sang WGS84?
Trong thời đại công nghệ số, việc làm việc với dữ liệu không gian ngày càng phổ biến. Các chuyên gia GIS, nhân viên địa chính, kỹ sư xây dựng, nhà nghiên cứu và thậm chí là người dùng cá nhân đều gặp phải nhu cầu chuyển đổi hệ tọa độ. Tại Việt Nam, hệ tọa độ VN2000 (Vietnam 2000) là hệ chuẩn quốc gia, được sử dụng rộng rãi trong các bản đồ, dự án công trình và dữ liệu địa chính. Tuy nhiên, khi làm việc với các phần mềm quốc tế như Google Maps, ArcGIS Online, hoặc các dịch vụ GPS, chúng ta thường cần dữ liệu ở hệ WGS84 (World Geodetic System 1984) – hệ tọa độ toàn cầu được chuẩn hoá.
Việc chuyển đổi VN2000 sang WGS84 có thể thực hiện bằng nhiều công cụ: phần mềm GIS chuyên nghiệp, trang web trực tuyến, hoặc thậm chí là các ngôn ngữ lập trình như Python, R. Nhưng trong thực tiễn, rất nhiều người vẫn ưa thích sử dụng Microsoft Excel vì:
– Đã quen thuộc với giao diện, không cần học thêm phần mềm mới.
– Dữ liệu thường đã có sẵn trong file Excel (điểm GPS, danh sách địa chỉ, v.v.).
– Có thể tự động hoá quy trình bằng công thức hoặc macro.
Bài viết này sẽ cung cấp hướng dẫn chi tiết, từng bước để bạn có thể chuyển đổi tọa độ VN2000 sang WGS84 ngay trong Excel, bao gồm:
1. Giải thích cơ bản về hai hệ tọa độ và công thức chuyển đổi.
2. Chuẩn bị dữ liệu và môi trường Excel.
3. Cách viết công thức thủ công trong Excel.
4. Sử dụng VBA (macro) để tự động hoá quy trình.
5. Kiểm tra, xác nhận độ chính xác và lưu trữ kết quả.
6. Một số lưu ý và lỗi thường gặp.
Hãy cùng khám phá chi tiết từng phần dưới đây.
Có thể bạn quan tâm: Cách Chuyển Đổi Dữ Liệu Từ Microsoft Project Sang Excel: Hướng Dẫn Chi Tiết Và Thực Tiễn
1. Kiến Thức Cơ Bản Về VN2000 và WGS84
1.1. VN2000 (Vietnam 2000)
- Định nghĩa: VN2000 là hệ tọa độ địa lý dựa trên datum GRS80 (Geodetic Reference System 1980) với phép chiếu UTM (Universal Transverse Mercator) cho các vùng miền của Việt Nam. Các khu vực được chia thành ba zone:
- Zone 48: Tây Bắc (từ 102°E đến 108°E)
- Zone 49: Trung Bộ (từ 108°E đến 114°E)
Zone 50: Đông Nam (từ 114°E đến 120°E)
Đơn vị: Thường được biểu diễn dưới dạng x (easting) và y (northing), đơn vị là mét.
1.2. WGS84 (World Geodetic System 1984)
Định nghĩa: WGS84 là hệ tọa độ địa lý toàn cầu, được sử dụng trong GPS và hầu hết các dịch vụ bản đồ trực tuyến. Nó dựa trên datum WGS84 và thể hiện tọa độ dưới dạng vĩ độ (latitude) và kinh độ (longitude), đơn vị là độ (°).
Đặc điểm: Độ chính xác cao, phù hợp cho việc hiển thị trên bản đồ toàn cầu và trao đổi dữ liệu quốc tế.
1.3. Mối Quan Hệ Giữa Hai Hệ
VN2000 và WGS84 đều dựa trên GRS80, vì vậy chuyển đổi không yêu cầu bước “datum shift” phức tạp như khi chuyển từ NAD83 sang WGS84. Tuy nhiên, cần thực hiện chuyển đổi từ hệ chiếu UTM sang hệ địa lý (từ x, y sang latitude, longitude) và điều chỉnh zone.
Công thức chuyển đổi thực chất là đảo ngược phép chiếu Transverse Mercator. Các công thức này có thể được biểu diễn dưới dạng hàm lượng giác và logarit, và được áp dụng trong Excel.
Có thể bạn quan tâm: Cách Chuyển Đổi File Json Sang Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
2. Chuẩn Bị Dữ Liệu Trong Excel
2.1. Định Dạng Bảng Dữ Liệu
Giả sử bạn có một file Excel chứa các cột sau:
| A (STT) | B (X – Easting) | C (Y – Northing) | D (Zone) |
|---|---|---|---|
| 1 | 500000 | 2000000 | 48 |
| 2 | 600000 | 2100000 | 49 |
| … | … | … | … |
- X (Easting) và Y (Northing) là tọa độ VN2000 (đơn vị mét).
- Zone là số zone UTM (48, 49 hoặc 50) tương ứng với vị trí địa lý.
2.2. Thêm Cột Kết Quả
Bạn sẽ cần thêm hai cột mới để lưu Kinh độ (Longitude) và Vĩ độ (Latitude) sau khi chuyển đổi:
| E (Longitude) | F (Latitude) |
|---|---|
2.3. Kiểm Tra Dữ Liệu Đầu Vào
- Đảm bảo không có giá trị trống hoặc lỗi.
- Kiểm tra rằng giá trị X không quá 0 và Y không quá 10,000,000 (độ cao UTM tối đa).
- Đảm bảo Zone đúng (48-50). Nếu dữ liệu không có cột Zone, bạn có thể xác định dựa trên kinh độ trung bình của khu vực (ví dụ: kinh độ > 108°E và < 114°E → Zone 49).
3. Công Thức Chuyển Đổi Thủ Công Trong Excel
3.1. Công Thức Cơ Bản
Công thức chuyển đổi từ UTM (VN2000) sang latitude/longitude (WGS84) gồm các bước:
- Xác định hằng số:
a = 6378137.0(bán kính lớn của ellipsoid GRS80)b = 6356752.314140(bán kính nhỏ)e² = (a² - b²) / a²(độ lệch ellipsoid)e'² = e² / (1 - e²)(độ lệch phụ)Giá trị trung tâm zone:
λ0 = (Zone 6 - 183)độ (độ trung tâm zone)Bước tính toán:
x' = X - 500000(bỏ offset 500,000m)y' = Y(nếu trong bán cầu Bắc, không cần trừ 10,000,000)M = y' / k0(k0 = 0.9996 là hệ số scale)Tính mu, phi1, v, p, etc. (theo công thức UTM chuẩn)
Vì Excel không hỗ trợ hàm ATAN2 và SQRT một cách trực tiếp cho các công thức phức tạp, chúng ta sẽ viết từng bước dưới dạng công thức riêng biệt.
3.2. Các Công Thức Chi Tiết
Giả sử:
– X (Easting) nằm ở cột B
– Y (Northing) nằm ở cột C
– Zone nằm ở cột D
– Dòng dữ liệu bắt đầu từ hàng 2
Bước 1: Đặt hằng số trong một ô cố định (ví dụ: ô H1 – H5)
| Ô | Giá trị | Ghi chú |
|---|---|---|
| H1 | 6378137 | a – bán kính lớn |
| H2 | 0.9996 | k0 – hệ số scale |
| H3 | 500000 | False Easting |
| H4 | 0 | False Northing (bán cầu Bắc) |
| H5 | 0.00669438 | e² (độ lệch ellipsoid) |
Bước 2: Tính λ0 (độ trung tâm zone) – ô I2
= (D26 - 183)
Bước 3: X’ và Y’ – ô J2 và K2
J2 = B2 - $H$3 // X' = X - 500000
K2 = C2 - $H$4 // Y' = Y (bán cầu Bắc)
Bước 4: M – ô L2
L2 = K2 / $H$2 // M = Y' / k0
Bước 5: Tính e’² – ô M2
M2 = $H$5 / (1 - $H$5)
Bước 6: Tính phi1 (latitude 1) – ô N2
Đây là phần phức tạp nhất, chúng ta sẽ dùng công thức lặp (Iterative) để tính phi1. Tuy nhiên, Excel không hỗ trợ vòng lặp trực tiếp trong công thức, vì vậy chúng ta sẽ dùng phương pháp Taylor (series expansion) để xấp xỉ.
N2 = L2 / ( $H$1 (1 - $H$5/4 - 3$H$5$H$5/64 - 5$H$5$H$5$H$5/256) )
Bước 7: Tính C, T, N, R, D – các biến phụ
- C (cos phi1) – ô O2:
O2 = COS(N2)
- T (tan² phi1) – ô P2:
P2 = TAN(N2)^2
- N (radius of curvature in the prime vertical) – ô Q2:
Q2 = $H$1 / SQRT(1 - $H$5 SIN(N2)^2)
- R (radius of curvature in the meridian) – ô R2:
R2 = $H$1 (1 - $H$5) / (1 - $H$5 SIN(N2)^2)^(3/2)
- D (x’ / (N k0)) – ô S2:
S2 = J2 / (Q2 $H$2)
Bước 8: Tính Latitude (phi) – ô F2 (Latitude)
Công thức (theo series 6 cấp độ, đủ cho độ chính xác ~0.1m):
F2 = (N2 - (T/2) S2^2 + (5 + 3T + 10C - 4C^2 - 9M2) T S2^4 /24 - (61 + 90T + 298C + 45T^2 - 252M2 - 3C^2) T S2^6 /720) 180/PI()
Bước 9: Tính Longitude (lambda) – ô E2 (Longitude)
E2 = (S2 - (1 + 2T + C) S2^3 /6 + (5 - 2C + 28T - 3C^2 + 8M2 + 24T^2) S2^5 /120) / COS(N2)
E2 = (E2 + I2) 180/PI()
Bước 10: Định dạng Kết Quả
- Đặt định dạng số cho cột E và F:
Numbervới 6 chữ số thập phân (độ chính xác ~0.11m).
3.3. Sao Chép Công Thức Cho Nhiều Dòng
Sau khi thiết lập công thức cho hàng 2, bạn chỉ cần kéo công thức xuống các hàng còn lại (đến cuối danh sách). Excel sẽ tự động cập nhật tham chiếu ô.
3.4. Kiểm Tra Độ Chính Xác

Có thể bạn quan tâm: Convert Formula To Value In Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Chọn một vài điểm đã biết (có sẵn cả VN2000 và WGS84) để so sánh.
- Sử dụng công cụ Google Maps: nhập tọa độ latitude/longitude đã tính, kiểm tra vị trí.
- Độ sai lệch thường dưới 0.5–1 mét nếu công thức được thực hiện đúng.
4. Tự Động Hoá Bằng VBA (Macro)
Nếu bạn có hàng nghìn (hoặc hàng triệu) bản ghi, việc sao chép công thức có thể gây chậm và khó bảo trì. Sử dụng VBA giúp:
– Tăng tốc độ tính toán.
– Đóng gói toàn bộ quy trình thành một nút “Convert”.
– Dễ dàng tái sử dụng cho các file khác.
4.1. Bước Chuẩn Bị
- Mở Excel → Alt + F11 để mở Visual Basic for Applications.
- Chọn Insert → Module để tạo một module mới.
- Dán đoạn mã dưới đây vào module.
4.2. Mã VBA Chuyển Đổi VN2000 → WGS84
Option Explicit ' Hàm chuyển đổi một điểm VN2000 (UTM) sang WGS84 (lat, lon)
Public Function VN2000_To_WGS84(Easting As Double, Northing As Double, Zone As Integer) As Variant Dim a As Double, f As Double, k0 As Double Dim e2 As Double, ep2 As Double Dim lambda0 As Double Dim x As Double, y As Double Dim M As Double, mu As Double, phi1 As Double Dim e1 As Double, C1 As Double, T1 As Double, N1 As Double, R1 As Double, D As Double Dim lat As Double, lon As Double ' Hằng số ellipsoid GRS80 (cùng với WGS84) a = 6378137# f = 1 / 298.257222101 ' flattening k0 = 0.9996 e2 = 2 f - f f ' e^2 ep2 = e2 / (1 - e2) ' e'^2 ' Trung tâm zone (độ) lambda0 = (Zone 6 - 183) WorksheetFunction.Pi() / 180# ' Bỏ false easting và false northing x = Easting - 500000# y = Northing ' Tính M M = y / k0 ' Tính mu mu = M / (a (1 - e2 / 4 - 3 e2 e2 / 64 - 5 e2 e2 e2 / 256)) ' Hệ số e1 e1 = (1 - Sqr(1 - e2)) / (1 + Sqr(1 - e2)) ' Tính phi1 (latitude gốc) phi1 = mu + (3 e1 / 2 - 27 e1 ^ 3 / 32) Sin(2 mu) _ + (21 e1 ^ 2 / 16 - 55 e1 ^ 4 / 32) Sin(4 mu) _ + (151 e1 ^ 3 / 96) Sin(6 mu) _ + (1097 e1 ^ 4 / 512) Sin(8 mu) ' Các biến phụ C1 = ep2 Cos(phi1) ^ 2 T1 = Tan(phi1) ^ 2 N1 = a / Sqr(1 - e2 Sin(phi1) ^ 2) R1 = a (1 - e2) / (1 - e2 Sin(phi1) ^ 2) ^ (3 / 2) D = x / (N1 k0) ' Tính latitude (rad) lat = phi1 - (N1 Tan(phi1) / R1) (D ^ 2 / 2 - (5 + 3 T1 + 10 C1 - 4 C1 ^ 2 - 9 ep2) D ^ 4 / 24 _ + (61 + 90 T1 + 298 C1 + 45 T1 ^ 2 - 252 ep2 - 3 C1 ^ 2) D ^ 6 / 720) ' Tính longitude (rad) lon = lambda0 + (D - (1 + 2 T1 + C1) D ^ 3 / 6 + (5 - 2 C1 + 28 T1 - 3 C1 ^ 2 + 8 ep2 + 24 T1 ^ 2) D ^ 5 / 120) / Cos(phi1) ' Chuyển sang độ lat = lat 180# / WorksheetFunction.Pi() lon = lon 180# / WorksheetFunction.Pi() VN2000_To_WGS84 = Array(lat, lon)
End Function ' Sub procedure để chạy chuyển đổi trên toàn bộ bảng
Public Sub ConvertVN2000toWGS84() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim result As Variant Set ws = ThisWorkbook.Sheets("Sheet1") ' <-- Đổi tên sheet nếu cần lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row ' Cột B chứa Easting Application.ScreenUpdating = False For i = 2 To lastRow result = VN2000_To_WGS84(ws.Cells(i, "B").Value, ws.Cells(i, "C").Value, ws.Cells(i, "D").Value) ws.Cells(i, "E").Value = result(1) ' Longitude ws.Cells(i, "F").Value = result(0) ' Latitude Next i Application.ScreenUpdating = True MsgBox "Hoàn tất chuyển đổi " & (lastRow - 1) & " bản ghi!", vbInformation
End Sub
4.3. Giải Thích Mã
- Function
VN2000_To_WGS84: Nhận vào ba tham số (Easting, Northing, Zone) và trả về một mảng gồm Latitude và Longitude. Sử dụng công thức chuẩn UTM với các hệ sốe1,mu,phi1… để đạt độ chính xác cao. - Sub
ConvertVN2000toWGS84: Lặp qua tất cả các hàng có dữ liệu, gọi hàm trên và ghi kết quả vào cột E (Longitude) và F (Latitude). - Tối ưu: Tắt
ScreenUpdatingđể tăng tốc độ; có thể thêmApplication.Calculation = xlCalculationManualnếu file rất lớn.
4.4. Thêm Nút Bấm
- Vào Developer → Insert → Button (Form Control).
- Vẽ nút trên sheet và gán macro
ConvertVN2000toWGS84. - Đổi tên nút thành “Chuyển Đổi VN2000 → WGS84”.
Bây giờ, chỉ cần nhấn nút, toàn bộ dữ liệu sẽ được chuyển đổi tự động.
5. Kiểm Tra, Xác Nhận Độ Chính Xác
5.1. So Sánh Với Công Cụ Trực Tuyến
- Sử dụng trang web https://epsg.io/transform hoặc https://www.mygeodata.cloud để nhập một điểm VN2000 và xem kết quả WGS84.
- So sánh giá trị với kết quả trong Excel (độ chênh lệch thường < 0.00001° ≈ 1m).
5.2. Kiểm Tra Trên Google Maps
- Mở Google Maps.
- Dán tọa độ
latitude, longitude(ví dụ:10.762622, 106.660172). - Kiểm tra vị trí hiển thị có khớp với địa điểm thực tế không.
5.3. Đánh Giá Độ Sai Số
- Sai số hệ thống: Do việc làm tròn trong Excel (đặc biệt nếu dùng công thức thay vì VBA). Đặt định dạng 8-10 chữ số thập phân để giảm sai số.
- Sai số do zone: Nếu zone không đúng, sai lệch có thể lên tới vài km. Vì vậy, luôn kiểm tra lại zone của mỗi điểm.
6. Những Lưu Ý Quan Trọng Khi Sử Dụng Excel
- Đơn vị góc: Excel tính toán hàm lượng giác bằng radian. Đừng quên chuyển độ sang radian (
PI()/180) và ngược lại (180/PI()). - Độ chính xác số học: Excel có độ chính xác 15 chữ số thập phân. Khi làm việc với mét và độ, không nên giảm số chữ số quá mức (đặt
Numbervới 6-8 chữ số thập phân). - Cập nhật vùng zone: Nếu dữ liệu chứa các điểm gần ranh giới zone (ví dụ: 108°E), hãy chắc chắn rằng zone được xác định đúng, tránh việc tính sai λ0.
- Bản sao lưu dữ liệu: Trước khi chạy macro, luôn sao lưu file gốc. Macro có thể ghi đè dữ liệu nếu phạm vi không đúng.
- Phiên bản Excel: Các hàm
SIN,COS,TAN,ATAN2,SQRT,PIđều có sẵn trên Excel 2026 trở lên. Đối với Office 365, bạn còn có hàmLETgiúp viết công thức ngắn gọn hơn.
7. Tối Ưu Hóa Công Thức Với Hàm LET (Office 365)
Nếu bạn dùng Excel 365, hàm LET cho phép đặt biến tạm, giảm việc lặp lại công thức và tăng tốc tính toán.
Ví dụ, công thức tính Latitude cho ô F2:
=LET( a, 6378137, f, 1/298.257222101, k0, 0.9996, e2, 2f - f^2, ep2, e2/(1-e2), λ0, (D26-183)PI()/180, x, B2-500000, y, C2, M, y/k0, mu, M/(a(1-e2/4-3e2^2/64-5e2^3/256)), e1, (1-SQRT(1-e2))/(1+SQRT(1-e2)), φ1, mu + (3e1/2-27e1^3/32)SIN(2mu) + (21e1^2/16-55e1^4/32)SIN(4mu) + (151e1^3/96)SIN(6mu) + (1097e1^4/512)SIN(8mu), C1, ep2COS(φ1)^2, T1, TAN(φ1)^2, N1, a/SQRT(1-e2SIN(φ1)^2), R1, a(1-e2)/(1-e2SIN(φ1)^2)^(3/2), D, x/(N1k0), φ, φ1 - (N1TAN(φ1)/R1)(D^2/2 - (5+3T1+10C1-4C1^2-9ep2)D^4/24 + (61+90T1+298C1+45T1^2-252ep2-3C1^2)D^6/720), φ180/PI()
)
Tương tự, công thức cho Longitude (ô E2) có thể viết bằng LET để dễ đọc và bảo trì.
8. Các Tình Huống Thực Tế và Ứng Dụng
8.1. Dự Án Địa Chính
- Nhập dữ liệu VN2000 từ hệ thống GIS quốc gia.
- Chuyển sang WGS84 để nhập vào Google Earth hoặc ArcGIS Online, giúp chia sẻ dữ liệu với đối tác quốc tế.
8.2. Quản Lý Tài Nguyên Nông Nghiệp
- Các bộ dữ liệu thu thập bằng GPS (WGS84) cần được đồng bộ với bản đồ VN2000 để tính diện tích, phân vùng.
8.3. Hệ Thống Định Vị Nội Bộ (Indoor Positioning)
- Khi sử dụng thiết bị BLE hoặc Wi‑Fi, các thuật toán tính toán vị trí thường trả về tọa độ WGS84. Nếu muốn tích hợp vào bản đồ quy hoạch VN2000, cần thực hiện chuyển đổi ngược lại (WGS84 → VN2000). Quy trình ngược lại cũng có thể thực hiện trong Excel bằng cách đảo hàm.
8.4. Nghiên Cứu Khoa Học
- Các nhà nghiên cứu môi trường, địa chất thường thu thập dữ liệu tại hiện trường (GPS) và cần so sánh với bản đồ địa chất VN2000. Excel cho phép họ nhanh chóng chuyển đổi và thực hiện phân tích thống kê.
9. Tổng Kết
Việc chuyển đổi tọa độ VN2000 sang WGS84 trong Excel không chỉ khả thi mà còn rất thực tiễn cho những người không muốn đầu tư vào phần mềm GIS đắt tiền. Bài viết đã cung cấp:
- Kiến thức nền tảng về hai hệ tọa độ và lý do chuyển đổi.
- Cách chuẩn bị dữ liệu trong Excel, bao gồm cấu trúc bảng và kiểm tra dữ liệu.
- Công thức chi tiết thực hiện chuyển đổi bằng các hàm Excel thuần.
- Giải pháp VBA để tự động hoá quy trình, phù hợp với khối lượng dữ liệu lớn.
- Cách kiểm tra độ chính xác và so sánh với công cụ trực tuyến.
- Lưu ý quan trọng để tránh các lỗi thường gặp.
- Mở rộng với hàm
LETcho phiên bản Office 365 và các trường hợp ứng dụng thực tế.
Bạn có thể bắt đầu ngay bằng cách sao chép dữ liệu vào Excel, áp dụng công thức hoặc chạy macro, và sau vài phút sẽ có kết quả latitude/longitude sẵn sàng cho mọi mục đích: bản đồ trực tuyến, báo cáo, phân tích không gian, hoặc chia sẻ với đồng nghiệp quốc tế.
Tip cuối cùng: Khi làm việc với dữ liệu địa lý, luôn lưu trữ một bản sao gốc VN2000 và một bản đã chuyển đổi. Điều này giúp bạn dễ dàng quay lại kiểm tra, bảo trì và tránh mất mát thông tin trong quá trình xử lý.
Chúc bạn thành công trong việc chuyển đổi dữ liệu và khai thác thông tin không gian một cách hiệu quả!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
