Cần giải đáp lý do hàm if trả về kết quả sai ạ

  • Thread starter Thread starter rurulk
  • Ngày gửi Ngày gửi
Liên hệ QC
Hình 1:
"30" không thể nhỏ hơn "1000". Vì "3" lớn hơn "1"
Chuỗi được so theo từng ký tự từ trái sang phải

Hình 2:
Cũng là "30" chứ không phải 30

Cách chỉnh:
Tring hàm IF trên, đặt thêm 2 dấu trừ (--) trước L4
 
Hình 1:
"30" không thể nhỏ hơn "1000". Vì "3" lớn hơn "1"
Chuỗi được so theo từng ký tự từ trái sang phải

Hình 2:
Cũng là "30" chứ không phải 30

Cách chỉnh:
Tring hàm IF trên, đặt thêm 2 dấu trừ (--) trước L4
Cho em hỏi ý nghĩa của dấu trừ trước công thức với ạ
 
Cho em hỏi ý nghĩa của dấu trừ trước công thức với ạ
Dấu -- đó tương đương *1 , +1 đó bạn.
Dấu -- ép chuỗi thành số đó bạn.
Nếu muốn hiểu bạn bạn elavatue formula rồi xem công thức chạy từng bước.
 
Cho em hỏi ý nghĩa của dấu trừ trước công thức với ạ
Lưu ý rằng tôi có nói rất rõ "2 dấu trừ" chứ không phải 1.
Đây chỉ là một mẹo vặt để ép Excel đổi chuỗi "30" thành ra số 30.
Dấu trừ đặt trước một con số là phép toán đổi dấu con số ấy (căn bản toán lớp 6).
Vì chuỗi thì lấy gì đổi dấu? Cho nên Excel tự động "thử" chuyển kiểu chuỗi thành số để làm việc.
Như vậy "30" bị chuyển thành 30 và đổi dấu thành -30. ( -"30" ---> -30 )
Dấu trừ thứ hai đổi dấu lần nữa. -30 đổi dấu thành 30

Có 2 cách khác để ép Excel đổi kiểu chuỗi thành số. Cách thứ nhất là cộng 0 và cách thứ hai là nhân 1. Tuy nhiên, có người cho rằng cách đổi dấu nhanh hơn (tôi chỉ nói người ta cho rằng vậy thôi chứ tôi chưa thấy chứng minh)
Theo tôi thì chỉ có hai điểm:
1. phép đổi dấu ở độ cao hơn phép cộng cho nên dùng phép đổi dấu không phải đóng vào dấu ngoặc
--a thay vì (a + 0)
2. phép đổi dấu là con toán tự nhiên của máy tính (có lẽ vì vậy mà người ta tin rằng nó nhanh hơn)
Lưu ý rằng trong Đại số, phép đổi dấu cho ra kết quả giống nhân cho -1 nhưng không phải là cùng một con toán.
Trong đại số, -a là con toán lấy phần tử đối xứng của a; -1 * a là con toán nhân 2 phần tử a và -1
 
Web KT

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

Back
Top Bottom