Giải trí với Excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Hãy nhìn kỹ hình này:
----------------------------------------------------------------
attachment.php

------------------------------
Có bao giờ các bạn thấy hàm nào kỳ cục thế ko?
AND của 2 giá trị TRUE và FALSE lại cho kết quả = TRUE
???
Sao thế?
 

File đính kèm

  • HamAND.JPG
    HamAND.JPG
    24.6 KB · Đọc: 1,112
Em nghĩ công thức có thể lỗi do sai kiểu dữ liệu khi một trong hai ô A1, A2 bỏ trống. Nếu nhập đúng kiểu dữ liệu lại "xịn" ngay...--=0


attachment.php
 

File đính kèm

  • TRUE OR FALSE.jpg
    TRUE OR FALSE.jpg
    53.9 KB · Đọc: 1,068
Em nghĩ công thức có thể lỗi do sai kiểu dữ liệu khi một trong hai ô A1, A2 bỏ trống. Nếu nhập đúng kiểu dữ liệu lại "xịn" ngay...--=0
Vậy làm thế nào để có dc cái hình tôi đưa lên ở trên?
Xin nói rõ: Đây là hình thật (chứ ko phải do "ba xạo" mà ra)
 
Vậy làm thế nào để có dc cái hình tôi đưa lên ở trên?
Xin nói rõ: Đây là hình thật (chứ ko phải do "ba xạo" mà ra)

Em test thấy B2=AND(A1;A2)
Khi A1= một số bất kỳ, A2 để trống hoặc ngược lại thì có kết quả như vậy. Còn tại sao AND(TRUE;FALSE)=TRUE thì e cũng "hạt bí" như bác...-+*/
 
Lần chỉnh sửa cuối:
Em test thấy B2=AND(A1;A2)
Khi A1= một số bất kỳ, A2 để trống hoặc ngược lại thì có kết quả như vậy.
Chính xác!
Vấn đề còn lại là: Thà rằng trong trường hợp này hàm AND cho giá trị #VALUE! cũng chả ai nói gì, thế sao nó lại cho kết quả = TRUE nhỉ?
-----------------------------------------------------
(Ai có "tiết mục" gì vui vui về công thức, gữi lên tham gia nhé)
 
Vì Excel là một bảng tính nên tôi nghĩ khi để trống một cell nào đó thì Ex hiểu rằng ô đó có giá trị bằng 0 chứ không phải giá trị rỗng. Vì thế AND(A1,A2) vẫn là TRUE
P/S : (A1+A2)=0 khi A1 và A2 rỗng
Các bạn khác nghĩ sao?
 
Vì Excel là một bảng tính nên tôi nghĩ khi để trống một cell nào đó thì Ex hiểu rằng ô đó có giá trị bằng 0 chứ không phải giá trị rỗng. Vì thế AND(A1,A2) vẫn là TRUE
P/S : (A1+A2)=0 khi A1 và A2 rỗng
Các bạn khác nghĩ sao?
Không phải bạn à!
Cứ cho rằng Excel xem cell rổng = 0 nha!
Vậy với A1 = 1 và A2 = 0 thì AND(A1,A2) sẽ = FALSE (bạn thử xem)
Giờ xóa A2 ---> Kiểm tra kết quả AND (nó = TRUE rồi đấy) ---> Theo như bạn nói, A2 là rổng thì xem như = 0... vậy lý ra két quả AND vẫn không thay đổi chứ
 
Em làm được 1 cái như của anh anhtuan1066.
Tại A1 gõ : =TRUE (kiểu logic).
Tại A2 gõ : 'FALSE (kiểu text).
Tại A3 gõ : =AND(A1,A2) sẽ cho kết quả là TRUE.

Nhận thấy không riêng gì với text "FALSE" mà với bất cứ cái gì dạng text ở A2 thì A3 cũng cho kết quả là TRUE cả --> AND(TRUE,text) = TRUE.

attachment.php
 

File đính kèm

  • 1.JPG
    1.JPG
    41.7 KB · Đọc: 750
Lần chỉnh sửa cuối:
Em làm được 1 cái như của anh anhtuan1066.
Tại A1 gõ : =TRUE (kiểu logic).
Tại A2 gõ : 'FALSE (kiểu text).
Tại A3 gõ : =AND(A1,A2) sẽ cho kết quả là TRUE.

Nhận thấy không riêng gì với text "FALSE" mà với bất cứ cái gì dạng text ở A2 thì A3 cũng cho kết quả là TRUE cả --> AND(TRUE,text) = TRUE.
Chưa chắc đâu nha! Nếu tại A2 bạn gõ nhăng nhít gì đó vào (dạng Text) thì sẽ được hàm AND thế này đây (dù kết quả vẫn =TRUE nhưng không giống hình đầu tiên)
attachment.php
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    27.7 KB · Đọc: 1,013
Anh Tuấn bật mí cho em đi, ngồi nghĩ mãi không ra
Quả thực em thấy không đơn giản tí nào? Rõ rành rành là hàm logic chỉ trả về True nếu tất cả các lôgic là true... Cái này đi ngược với logic rồi

Hic
 
Anh Tuấn bật mí cho em đi, ngồi nghĩ mãi không ra
Quả thực em thấy không đơn giản tí nào? Rõ rành rành là hàm logic chỉ trả về True nếu tất cả các lôgic là true... Cái này đi ngược với logic rồi

Hic
Với hàm AND, nếu A1 = True còn A2 = rổng (hoặc ngược lại) thì sẽ tạo ra cái nghịch lý kia!
Thật ra trong help của AND đã quy định:

Remarks
- The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays or references that contain logical values.
- If an array or reference argument contains text or empty cells, those values are ignored.
- If the specified range contains no logical values, AND returns the #VALUE! error value.

Vì thế với thí nghiệm ở trên, cell rổng đã bị bỏ qua!
Có lẽ vấn đề nằm ở chổ: Hiển thị sai. Đầu tiên cell rổng dc xem = 0 nên ta thấy nó hiển thị kết quả của cell này là FALSE. Tuy nhiên sau khi tính toán thì nó phải tuân thủ quy định do nó đặt ra (cell rổng bị bỏ qua không tính, chỉ còn lại A1 = TRUE nên kết quả = TRUE)
 
Mời các bạn tiếp theo chuyên mục giải trí bằng 1 thí nghiệm
- Mở 1 file Excel mới
- Gõ vào cell A1 công thức =DATE(1900,2,1)
- Gõ vào cell A2 công thức: =A1+1
- Kéo fill A2 xuống đến dòng thứ 31
Các bạn chú ý dòng thứ 29 và hãy nói xem năm 1900 có phải là năm nhuận hay không?
 
Mời các bạn tiếp theo chuyên mục giải trí bằng 1 thí nghiệm
- Mở 1 file Excel mới
- Gõ vào cell A1 công thức =DATE(1900,2,1)
- Gõ vào cell A2 công thức: =A1+1
- Kéo fill A2 xuống đến dòng thứ 31
Các bạn chú ý dòng thứ 29 và hãy nói xem năm 1900 có phải là năm nhuận hay không?

Dòng 29 cho thấy tháng 2 năm 1900 có 29 ngày, nhưng mà năm 1900 không phải là năm nhuận, bởi vì :

Ở lịch dương, thông thường thì : Những năm chia hết cho 4 là nhuận, có 366 ngày; các năm khác không nhuận, có 365 ngày. Vậy nhuận chỉ 1 ngày và vào tháng 2 để nó có 29 ngày. Ngoài ra, các năm cuối thế kỷ (tất nhiên chia hết cho 4) nếu không chia hết cho 400 thì không nhuận, chẳng hạn các năm 1700, 1800, 1900 (mặc dù tháng 2 có 29 ngày), 2100 không nhuận. Thí dụ: Lịch dương, các năm sau đây có nhuận: ...1996, 2000, 2004, 2008,...

Trả lời vậy không biết anh anhtuan1066 có chịu không ta -=.,,
 
Lần chỉnh sửa cuối:
Các bạn chú ý dòng thứ 29 và hãy nói xem năm 1900 có phải là năm nhuận hay không?

Lịch Gregory
Theo lịch Gregory - loại lịch tiêu chuẩn hiện nay được dùng trên hầu khắp thế giới thì những năm nào chia hết cho 4 được coi là năm nhuận. Trong năm nhuận, tháng 2 có 29 ngày thay cho 28 ngày. Cứ 4 năm lại thêm 1 ngày vào lịch bởi vì một năm dương lịch dài khoảng 365 ngày và 6 giờ.
Tuy nhiên, vẫn có một số ngoại lệ đối với nguyên tắc này vì một năm dương lịch ngắn hơn 365,25 ngày một chút. Những năm chia hết cho 100 chỉ được coi là năm nhuận nếu chúng cũng chia hết cho 400. Ví dụ, 1600 và 2000 là các năm nhuận nhưng 1700, 1800 và 1900 không phải năm nhuận. Tương tự như vậy, 2100, 2200, 2300, 2500, 2600, 2700, 2900 và 3000 không phải năm nhuận nhưng 2400 và 2800 là các năm nhuận. Theo nguyên tắc này thì trung bình một năm có 365 + 1/4 − 1/100 + 1/400 = 365,2425 ngày, tức là 365 ngày 5 giờ 49 phút và 12 giây.
Lý do nằm sau quy tắc này như sau:

  • Lịch Gregory được tạo ra để đảm bảo ngày xuân phân ở châu Âu rơi vào ngày 21 tháng 3, để đảm bảo ngày lễ Phục Sinh có thể điều chỉnh theo ngày xuân phân một cách rõ ràng hơn.
  • Một năm xuân phân (tính giữa hai điểm xuân phân kế tiếp nhau) là khoảng 365,242375 ngày.
  • Quy tắc tính năm nhuận theo lịch Gregory lấy một năm trung bình là 365,2425 ngày.
Sự sai khác rất nhỏ này (trên 0,0001 ngày) có nghĩa là sai số thời gian sẽ tích lũy đủ một ngày trong khoảng 8.000 năm. Nhưng trong thời gian của 8.000 năm thì độ dài của một năm xuân phân cũng sẽ thay đổi theo một lượng mà người ta không thể dự báo chính xác trước (xem dưới đây). Vì thế quy tắc tính năm nhuận của lịch Gregory là đủ thỏa mãn.
 
Nói rõ hơn: Theo lịch Gregory, năm 1900 không phải năm nhuận. Anh Bill cho năm 1900 nhuận là anh Bill sai.
 
Năm 1900, 2100 đương nhiên không phải là năm nhuận, điều này ai cũng biết
Thế sao Excel lại sai ngớ ngẩn thế?
Đây mới là điều đáng nói!
---------------
Trong khi chờ đợi các câu trả lời thỏa đáng khác, mời các bạn tiếp 1 chiêu nữa:
- Các bạn hãy thử đặt tên sheet là History xem Excel nó "nói" cái gì
 
Lần chỉnh sửa cuối:
Với hàm AND, nếu A1 = True còn A2 = rổng (hoặc ngược lại) thì sẽ tạo ra cái nghịch lý kia!
Thật ra trong help của AND đã quy định:


Vì thế với thí nghiệm ở trên, cell rổng đã bị bỏ qua!
Có lẽ vấn đề nằm ở chổ: Hiển thị sai. Đầu tiên cell rổng dc xem = 0 nên ta thấy nó hiển thị kết quả của cell này là FALSE. Tuy nhiên sau khi tính toán thì nó phải tuân thủ quy định do nó đặt ra (cell rổng bị bỏ qua không tính, chỉ còn lại A1 = TRUE nên kết quả = TRUE)

Thực ra vấn đề này rất rõ ràng, không chỉ hàm AND mà tất cả các hàm Excel đều tuân theo một quy tắc tính.

Ví dụ về hàm SUM

A1 = 2
A2 = "2"

SUM(A1,A2) = 2
SUM(A1, "2") = 4

Ví dụ về hàm AND

A1 = "false"
A2 = TRUE
AND(A1,A2) = TRUE
AND("false",A2) = FALSE
AND(A1,"true") = TRUE

Qua các ví dụ trên thì ta thấy, các hàm do các chuyên gia Microsoft làm theo đều tuân theo nguyên tắc.

Trước khi đưa tham số vào tính toán, nó kiểm tra kiểu giá trị của tham số.
+ Nếu tham số có kiểu là STRING nó thực hiện việc chuyển kiểu về kiểu cần tính toán
=AND("true","true") = TRUE
+ Nếu tham số đúng kiểu thì thực hiện ngay. =SUM(1,2,"2") = 5
+ Nếu tham số có kiểu tham chiếu/địa chỉ ô, nó kiểm tra kiểu giá trị, thuộc kiểu nào thì lấy giá trị kiểu đó, nếu kiểu không phù hợp thì bỏ qua. =SUM(1,2,"2", "AAA", A2) = 5
 
Lần chỉnh sửa cuối:
Tên riêng nghĩa là TÊN GÌ nhỉ? Hóa ra sheet History có tồn tại?
???
Bạn tìm xem nó nằm ở mô?
Ha... ha...

Em tìm thấy cái này trên trang Web của MS.
  1. On the Tools menu, point to Track Changes, and then click Highlight Changes. If the Track changes while editing check box is not selected, Microsoft Excel has not recorded any change history (change history: In a shared workbook, information that is maintained about changes made in past editing sessions. The information includes the name of the person who made each change, when the change was made, and what data was changed.) for the workbook.
  2. Select the When check box and click All.
  3. Clear the Who and Where boxes.
  4. Select the List changes on a new sheet check box.
  5. Click OK, and then click the filter (filter: To display only the rows in a list that satisfy the conditions you specify. You use the AutoFilter command to display rows that match one or more specific values, calculated values, or conditions.) arrows next to the column labels on the History worksheet (History worksheet: A separate worksheet that lists changes being tracked in a shared workbook, including the name of the person who made the change, when and where it was made, what data was deleted or replaced, and how conflicts were resolved.) to find the information you want.
Note Saving the workbook removes the History worksheet. To view the History worksheet after saving, redisplay it.
Và đây là kết quả :

attachment.php


Còn cái vụ năm nhuận vẫn chưa nghĩ ra.
 

File đính kèm

  • 1.jpg
    1.jpg
    85.7 KB · Đọc: 210
Web KT

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

Back
Top Bottom