Problem description: Steps to reproduce: 1. Create a file with a functioning algorithm that includes IF(ISNUMBER(XX)=0 ( I note that LO calc will convert the word "FALSE" to 0 whether you type it in or it comes from an Excel file) 2.Save the file as an Excel file (.xls, .xlsx etc) 3.Open the file in Excel (I tried it in Excel 2010, and 2007) Current behavior: LO calc doesn't convert the 0 in IF(ISNUMBER(XX)=0 to "FALSE", and then Excel sees the 0 in IF(ISNUMBER(XX)=0 as the number 0. All subsequent dependent algorithms are then in error (if cell (xx) isn't the number 0. Expected behavior: LO calc should convert the 0 to "FALSE". Similarly, if the algoritm were IF(ISNUMBER(XX)=1, it should convert the 1 to "TRUE" (but, I am not sure why one would ever need to do the latter) Operating System: Windows 7 Version: 4.2.5.2 release
Calc does not have a distinct boolean type, whereas Excel does and expects it and does not convert numeric type to boolean type. The expression IF(ISNUMBER(XX)=FALSE,...) or IF(ISNUMBER(XX)=0,...) can be rewritten as IF(ISNUMBER(XX)=FALSE(),...) or IF(NOT(ISNUMBER(XX)),...) so that both applications understand it. It may be desirable to preserve input and imported FALSE and TRUE values by converting them to FALSE() and TRUE() functions.
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.0.1 or preferably 5.0.2.2 or later) https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for your help! -- The LibreOffice QA Team This NEW Message was generated on: 2015-10-14
Eike, may be it changed anything from 2014 year?
Can't we support also TRUE and FALSE *keywords* as synonyms for 1 and 0, and so import and export them as is? (But converting to functions is also an option, of course; just it wouldn't solve e.g. problems with formulas in CSV)...
https://opengrok.libreoffice.org/xref/core/sc/source/core/tool/compiler.cxx?r=6873e0a9#3024
https://gerrit.libreoffice.org/c/core/+/86235 is a proof-of-concept to allow using TRUE/FALSE without parens - just for Eike's review. Possibly going with TRUE/FALSE import as functions would be easier and safer - but wanted to explore this possibility first.
https://gerrit.libreoffice.org/c/core/+/86238 is a conservative approach importing TRUE/FALSE as TRUE()/FALSE(). (In reply to himajin100000 from comment #5) himajin100000: thank you for the code pointer!
Mike Kaganski committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/197aa7911d5be5464efd19feaf3370eea1c15ab1 tdf#83779: convert TRUE/FALSE constants to functions TRUE()/FALSE() It will be available in 6.5.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.