Đăng ký học cùng GPE tháng 10 - TPHCM

Đăng ký học cùng GPE tháng 11 - TPHCM

Công thức chia trong excel

Thảo luận trong 'Hàm và công thức Excel' bắt đầu bởi Cavenui, 16 Tháng sáu 2008.

  1. Cavenui

    Cavenui Thành viên mới

    Em chào các anh chị!

    Em đang có một file excel cần phải xử lý mà không biết làm thế nào. Nội dung xin các anh/chị xem file đính kèm em up lên.
    Em nói rõ thêm, đầu tiên là nhập vào từng ô số tiền Việt, sau đó em muốn vẫn trên những ô đó, số liệu chuyển thành $ bằng cách lấy các ô chia cho tỉ giá ở ô B1 (ô B1 gắn địa chỉ tuyệt đối). Yêu cầu là vẫn phải giữ nguyên nguyên tệ chứ không phải là số $ (khi đặt con trỏ vào ô và xem trên formular bar thì thấy các ô vẫn hiển thị cả nguyên tệ và công thức. Ví dụ:
    xem ô A3 sẽ thấy 3.720468779 = A3/$B$1
    Các anh/chị giúp em với, có thủ thuật là hay nhất, không phải sử dụng marco hay VBA.
    Em xin cám ơn nhiều.
     

    Các file đính kèm:

    • Vi du.xls
      Kích thước:
      20.5 KB
      Đọc:
      292
  2. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Đọc cái bạn hỏi, rồi xem file của bạn... Khó hiểu bạn muốn gì quá.
    Thôi thì tôi nói cả hai điều mà tôi cho là bạn đang thắc mắc.

    1. Giữ nguyên dãy A3:C8, đổi số tiền Việt (VNĐ)trong đó thành tiển Đô (USD), theo tỷ giá ở B1 ?
    Cách làm là chọn một dãy nào đó tương đương với A3:C8, ví dụ như A11:C16, rồi nhập công thức như bạn đã nói trong bài: =A3/$B$1

    Bạn để ý nhé, cái dấu $ trong công thức này không phải là ký hiệu tiền tệ (đô-la) đâu. mà nó là dấu hiệu cho biết là "niêm phong" cái ô B1 này lại. Cái này: $B$1, người ta gọi là "địa chỉ tuyệt đối" của ô. Có nghĩa là công thức của bạn chạy từ A11 đến C16, nhưng trong công thức, số chia luôn luôn là con số ở ô B1.

    Bạn có thể đọc bài này: http://www.giaiphapexcel.com/forum/showpost.php?p=70347&postcount=14 để hiểu thêm về "địa chỉ tuyệt đối", hay còn gọi là "tham chiếu tuyệt đối".​


    2. Nhập giá trị vào A3:C8, rồi đổi thành tiền Đô ngay trong dãy A3:C8 này ?

    Tôi đưa ra câu hỏi này bởi vì trong file bạn gửi, bạn đã hỏi một câu tương tự như vậy.

    Nếu đúng là bạn muốn như thế, thì chẳng cần hàm, công thức chi hết, mà:
    • Bạn nhập hết mấy con số tiền đô đó vào trong A3:C8, rồi chọn cái ô B1, nhấn copy (Ctrl+C chẳng hạn)
    • Rồi bạn chọn khối A3:C8, chọn lệnh Paste Special (chắc bạn biết chứ?)
    • Đánh dấu vào tùy chọn Divide ở phần Operation
    • Rồi nhấn OK.
    Thế là xong ! Các con số ở dãy A3:C8 biến thành tiền Đô hết!​
     
  3. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Đúng là Paste Special nhanh gọn nhất
    Nhưng cái này:
    Thì hỏng hiểu sẽ xử lý thế nào? A3 mà =A3/$B$1 thì chỉ có VBA mới làm được! nhưng cũng chỉ cho ra giá trị chứ làm cách nào như bạn nói được
     
  4. Cavenui

    Cavenui Thành viên mới

    Đúng là em muốn có một mẹo nào đó xử lý bài toán này, nếu làm theo các Paste Special thì nó cho kết quả đúng, nhưng không phải là điều em cần trong topic này.
    Có bác nào nghĩ ra mẹo hay thì giúp em nhé.
    Em gửi lại file.
     

    Các file đính kèm:

    • Vi du.xls
      Kích thước:
      23.5 KB
      Đọc:
      63
  5. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Vậy cái em cần trong topic này là cái gì?

    Còn cái em muốn (trong file gửi lại của em), thì tôi đã trả lời ở bài #2 rồi mà! Xem lại cái giả thiết số 1 đó.
     
    Lần chỉnh sửa cuối: 17 Tháng sáu 2008
  6. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Có phải như thế này không? (bằng VBA, ngoài ra chả có mẹo nào có thể)
    Nếu phải, thì xài, nhưng chẳng hay tí nào. Vì trong bất kỳ 1 bảng biểu báo cáo nào, người đọc đều muốn xem cả 2 loại tiền, cả trên sheet lẫn khi in ra.
     

    Các file đính kèm:

  7. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    File này khi mở ra thì thấy đúng, xem code cũng thấy hợp lý. Nhưng nhập vào bất cứ số nào nó cũng cho kết quả =0/$B$1
    Là sao thế nhỉ?
     
  8. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Bình thường mà Đức Huy! Mình đã test rồi mới post lên. Vừa giờ lại test nữa đấy.

    Thêm cái hình làm bằng chứng trước toà! %#^#$

    [​IMG]
     
    Lần chỉnh sửa cuối: 18 Tháng sáu 2008
  9. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Thế thì lạ thật!
    Trên máy tôi dùng OfficeXP nó toàn ra kết quả =0/...
     
  10. boyxin

    boyxin Members actively

    Tui dùng Office 2003 cùng gặp tình trạng như ndu96081631
    Nhưng chọn B1 = 1 rồi nhập cho các ô, sau đó thay đổi giá trị ô B1 thì lại ngon lành
     
    Lần chỉnh sửa cuối: 18 Tháng sáu 2008
  11. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Ah... tôi biết tại sao rồi!
    Thêm Application.EnableEvents = FalseApplication.EnableEvents = True vào đầu và cuối code là xong chuyện
     
  12. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Cho tới giờ mình cũng chưa hiểu khi nào thì EnableEvents khi nào không, nhưng file vừa rồi chạy tốt trên máy mình, 1 cái ở sở, 1 cái ở nhà:


    [​IMG] a[​IMG]
     
  13. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Đương nhiên phải dùng EnableEvents rồi, vì:
    -Nhập liệu vào là 1 Event
    -Khi chuyển đổi số liệu, ra thành phẩm lại 1 Event nữa
    Không khéo thì nó sẽ chạy code 2 lần hoặc bao nhiêu lần cũng chả biết!
    Từng bị vụ này rất nhiều lần với code chuyển Text thành Date
    Nhưng sau code này lại chạy được trên máy anh ptm0412 nhỉ? Lạ thật!
     
  14. Cavenui

    Cavenui Thành viên mới


    Em chào các anh/chị!

    File excel đúng là có vấn đề, khi em nhập vào thì nó toàn báo là 0/$B$1 hết, khi thay đổi giá trị ô B1 bằng 1 và nhập lại giá trị khác thì nó mới ra kết quả đúng.
    @ anh Bùi-Nguyễn Triệu-Tường: Cách làm của anh cho ra kết quả đúng, nhưng không phải là cái em cần, em dẫn ra như sau:

    Nếu ở ô A3, em nhập vào 100000, sau đó theo cách của anh em chia có ô tỉ giá là B1, thì sẽ ra kết quả là: 6.20347395

    Nhìn trên thanh formular bar thì nó chỉ thể hiện mỗi số đó thôi.
    Nếu ở ô A3, em nhập 100000 vào, sau đó em nhấn F2 rồi chia cho ô $B$1 thì kết quả ra tương tự, nhưng trên thanh Formular bar nó sẽ hiện ra:
    =100000/$B$1

    Cùng 1 kết quả nhưng em cần cách thể hiện thứ 2.
    Sorry vì em phải viết dài dòng thế này, máy em không đủ công cụ để cắt, chụp màn hình, mong các anh/chị thông cảm.
    Có anh/chị nào có các khác không ạ?
    Em cám ơn các anh/chị rất nhiều.
     
  15. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Sửa code bài 6 theo cách bài 11 là được.
    Mã:
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    [B][COLOR=red]Application.EnableEvents = False[/COLOR][/B] 
    On Error Resume Next
    If Target.Column = 1 Then Target.Formula = "=" & Target.Value & "/$B$1"
    [B][COLOR=red]Application.EnableEvents = True[/COLOR][/B]
    End Sub
    
     
  16. phamnhuhoan

    phamnhuhoan Thành viên mới

     
  17. Lê Duy Thương

    Lê Duy Thương CẠO LẤY GÌ GỘI ?

     

Chia sẻ trang này