• Thứ Tư, 09/02/2011 11:16 (GMT+7)

    Công thức Excel tính trị giá lô đất khi biết chiều dài, chiều rộng và giá đất

    Câu hỏi :

    Xin hướng dẫn lập công thức tính chung trị giá cho mọi lô đất khi biết chiều dài, chiều rộng và giá đất của từng vị trí. Có 2 loại vị trí :
    1) Nếu chiều dài lô đất từ 50m trở xuống thì thuộc vị trí 1,
    2) Ngược lại lô đất thuộc vị trí 2. Giá đất lô ở vị trí 1 là 1.000.000đ/m2, còn giá lô ở vị trí 2 là 500.000đ. Với các dữ liệu đầu vào được miêu tả như trên và đã được nhập vào bảng tính Excel như sau, ví dụ:
    Tên  lô   Dài   Rộng
    Lô số 1   80   6
    Lô số 2   30   5



    Trả lời :

    Trong Excel (hay trong nhiều phần mềm khác), khi cần giải quyết 1 chức năng nào đó thì bạn có thể chọn 1 trong 2 cách giải quyết sau:

    - Nếu biết hàm sẵn có trong môi trường giải quyết được chức năng cần thực hiện thì bạn hãy dùng hàm đó cho dễ dàng và nhanh chóng.

    - Nếu không có hàm sẵn có trong môi trường (có thể do bạn chưa biết rõ) thì bạn hãy viết 1 hàm mới cho riêng mình để giải quyết vấn đề mà mình muốn, người ta gọi hàm định nghĩa mới này là "user-defined function". Sau khi đã định nghĩa, bạn có thể dùng hàm mới của mình y như dùng hàm sẵn có của hệ thống.

    Giả sử bạn đã nhập thông tin các lô đất vào 1 bảng tính Excel trong đó cột A chứa tên lô đất, cột B chứa độ dài lô đất, cột C chứa độ rộng lô đất, cột D miêu tả loại lô đất (1, 2), cột E miêu tả giá thành lô đất, giá đơn vị từng loại đất được nhập vào ở cell nào đó (thí dụ G1 và G2). Bạn có thể viết và dùng các hàm tự định nghĩa để xác định loại lô đất và giá thành từng lô theo qui trình điển hình sau đây:

    1. Chạy Excel, mở file Excel chứa dữ liệu cần xử lý.

    2. Kiểm tra nội dung ở các cột A, B, C xem đã có nội dung đúng theo yêu cầu chưa, nếu chưa thì hiệu chỉnh lại theo mong muốn.
    3. Chọn menu Tools.Macro.Visual Basic Editor để mở cửa sổ soạn code VBA.

    4. Dời chuột về phần tử gốc của cửa sổ "Project" nằm ở trên trái màn hình, nhấn phải chuột vào phần tử gốc để hiển thị menu lệnh, chọn mục Insert.Module để tạo mới 1 module mã nguồn VBA. Khi cửa sổ mã nguồn trống hiển thị, bạn hãy viết 2 hàm chức năng sau đây vào:

    'hàm xác định loại lô đất
    Public Function Loailo(rg As Range) As Integer
    If rg.Cells(1, 1) <= 50 Then
    Loailo = 1
    Else
    Loailo = 2
    End If
    End Function

    'hàm xác định giá lô đất
    Public Function Giathanh(rg As Range) As Double
    Dim loai As Integer
    Dim dientich As Double
    'tính diện tích lô đất
    dientich = rg.Cells(1, 1) * rg.Cells(1, 2)
    'xác định loại lô đất
    loai = Loailo(rg)
    'xác định giá lô đất theo loại của nó
    If loai = 1 Then
    Giathanh = dientich * Range("G1").Value
    Else
    Giathanh = dientich * Range("G2").Value
    End If
    End Function

    5. Chọn menu File.Close and Return... để quay về cửa sổ hiển thị bảng tính.

    6. Chọn cell D1, nhập nội dung sau vào cell:

    =Loailo(B1)

    7. Bạn sẽ thấy ngay loại của lô đất có chiều dài được qui định ở cell B1. Hãy copy nội dung cell D1 và dán xuống các cell khác trong cột D để xác định tự động loại các lô đất còn lại.

    8. Chọn cell E1, nhập nội dung sau vào cell:

    =Giathanh(B1)

    9. Bạn sẽ thấy ngay giá thành của lô đất có chiều dài được qui định ở cell B1. Hãy copy nội dung cell E1 và dán xuống các cell khác trong cột E để xác định tự động giá thành các lô đất còn lại.
     

    Chuyên mục: Ứng dụng văn phòng