爲什麼=FALSE<10000000000
評價爲FALSE
和=FALSE>10000000000
評價爲TRUE
?我嘗試了一些不同的數字,這似乎總是如此。Excel的FALSE像是無限的嗎?
回答
這是設計。搜索「排序疑難解答」的幫助以查看默認排序順序。
按升序排列,Microsoft Excel使用以下順序。
數字:數字從最小的負數到最大的正數排序。
字母數字排序:當您對字母數字文本進行排序時,Excel會按字符逐字符從左到右排序。例如,如果單元格包含文本「A100」,則Excel將單元格放置在包含條目「A1」的單元格之後,並且包含條目「A11」的單元格之前。
文本和文本,包括數字的排序按以下順序:
0 1 2 3 4 5 6 7 8 9(空格)! 「#$%&()*,。/:;?@ [\]^_`{|}〜+ < => ABCDEFGHIJKLMNOPQRSTU VWXYZ
忽略撇號(')和連字符( - ), :如果兩個文本字符串除了一個連字符相同,用連字符文本最後排序
邏輯值:在邏輯值,FALSE之前TRUE放置
錯誤值:所有錯誤值等於
空白:空白總是放在最後
默認排序順序很重要,因爲這是Excel設計用於比較不同數據類型的方式。邏輯值總是在文本和數字之後。錯誤值總是在那之後。空白總是最後的。當使用比較運算符(<,< =,=等)時,它使用與排序相同的比較算法(或者更可能的是,排序算法使用比較運算符代碼,這使得它們相同)。
TRUE<>1
根據排序順序,但--TRUE=1
。公式分析器意識到你正試圖否定某件事。如果它是一個布爾值,它將它轉換爲0或1.關於布爾值沒有任何0-ish或1-ish,它只是內部類型強制功能的結果。如果您輸入--"SomeString"
,它會執行相同的操作。它將字符串發送到Type Coercion函數,該函數報告「無法強制」,並以#VALUE結尾!在細胞中。
這就是'爲什麼這樣表現'的答案。我不知道'他們爲什麼這樣設計'的答案。
+1 - 這就是我至少在尋找的答案:) – RocketDonkey
顯然布爾值TRUE/FALSE是不同的數據類型的數字。檢查此(http://msdn.microsoft.com/en-us/library/office/bb687869.aspx)以查看布爾變量以2字節存儲(或者對於特定體系結構而言是一個短整數)。然而,這是存儲數據的內存,因爲excel實際上具有布爾變量的特殊數據類。具體來說:數字的xltypeNum,字符串的xltypeStr和我們討論的xltypeBool。
相同類型之間的關係很清楚,現在真的是< 1000嗎?可能沒有意義 - 有用。
方法來解決這個問題:
=ABS(BOOLEAN_VAR), i.e. =ABS(FALSE) --> 0 and =ABS(TRUE) --> 1
或
=INT(BOOLEAN_VAR), i.e. =INT(FALSE) --> 0 and =INT(TRUE) --> 1
或
=BOOLEAN_VAR*1, i.e. =FALSE*1 --> 0 and =TRUE*1 --> 1
或
=+BOOLEAN_VAR, i.e. =+FALSE --> 0 and =+TRUE --> 1
正如你在這些方式中看到的那樣,你強制excel輸出一個數值類型的數據,或者通過在函數中提供布爾值或者在表達式中使用布爾值var。
精彩回答謝謝 –
但是......'True = 1'是假的,'False = 0'也是假的。這種感覺好像不是答案。我不是說我可以給一個更好的。 –
- 1. Http POST是無限的嗎?
- 2. data-ajax =「false」是真的嗎?
- 3. 「true ==!false」總是對的嗎?
- 4. Npgsql Commandtimeout值; 0是無限的嗎?
- 5. Excel中的無限總和
- 6. Excel 1004 - 域用戶權限是我的問題的原因嗎?
- 7. Cassandra 3.0.12 - nofile限制足夠嗎? :false
- 8. 是C標準的TRUE/FALSE部分嗎?
- 9. 這是一個無限循環嗎?
- 10. for(;;)這是一個無限循環嗎?
- 11. Excel UDF返回True但不是False?
- 12. DataGridView的OnPaint事件中的無限循環是正常的嗎?
- 13. 無限循環excel VBA
- 14. Excel VBA WorksheetFunction.IsError false positive
- 15. Excel Macro - True/False VBA
- 16. 一組不同的字形是無限的嗎?
- 17. 所有的無限語言都是不可判定的嗎?
- 18. Javascript:false && false是false?
- 19. Excel是否接受[check]?[true]:[false]符號,而不是= IF([check],[true],[false])
- 20. PHP:while循環是無限的
- 21. Excel中的權限
- 22. PHP無限循環過程;這是好的解決方案嗎?
- 23. 這是限制指針的無效使用嗎?
- 24. 當Excel的ScreenUpdating = False時,Excel中的C#任務窗格重繪
- 25. excel如果公式返回的值爲false而不是數值
- 26. 無限列表中的圖像而不是字符串
- 27. Facebook的像素和FireFox無限加載
- 28. IOKit是僅限Mac的框架嗎?
- 29. 這是Java中泛型的限制嗎?
- 30. php是非常有限的嗎?
更準確地說,Excel中似乎會出現「False = Nothing」。 'True> Nothing'和'Nothing> Any value'。問題是True和False不是數值,它們是返回邏輯值的函數,它們的處理方式不同。我還沒有找到任何關於如何處理邏輯值的官方文檔。 –
您實際上也可以看到'TRUE'的相同行爲。我最好的猜測是,既然你處理了兩種固有的不同類型(布爾和數字),你的結果將不會如你所期望的那樣。例如,'FALSE = 0'返回'FALSE',儘管0是數字表示。像@DanielCook我很難找到底層內部的文檔,但我最好的猜測是類型本身使得平等比較無用(順便說一句:)。 – RocketDonkey