Created attachment 115863 [details] Demonstration of the bug
Sorry! I exited the description prematurely. I was stimulated by the thread http://ask.libreoffice.org/en/question/50970/calc-sum-only-numbers-entered-manually-where-isformula-returns-false/ of the official forum to go a bit into details and found: The FORMULA funvtion and the ISFORMULA function cannot be used with a correct result under conditions where the "iterative" array evaluation should apply or in a "ForceArray" parameter position. Cf. http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part2.html#__RefHeading__1017866_715980110 See attached demonstration.
Reproducible with Version: 5.1.0.0.alpha1+ Build ID: e929194317a7debb1c5467282230cbbabe61a710 TinderBox: Linux-rpm_deb-x86_64@46-TDF, Branch:master, Time: 2015-05-22_06:33:18 Setting to NEW and adding Winfried to CC. http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part2.html#ISFORMULA Passing a non-reference, or a reference to more than one cell, is implementation-defined.
Please consider allowing ISFORMULA within Matrix evaluations.
Created attachment 122814 [details] Comparison of matrix evaluation of ISEVEN and ISFORMULA
Created attachment 122817 [details] Demo by user Christian reworked as descibed in comment #7
Just tested with LibO V5.1.0.3 first using the original attachment to comment #1. The behaviour of FORMULA changed. It now retiurns the expected array of formulas applied under array evaluation. The behaviour of ISFORMULA is unchanged. (Cf comments #4,#5 by user Christian Koppen. I also reworked his example and added a (temporary) workaround concerning his request based on the new behaviour of the FORMULA function. As I still not am fully familiar with this bugzilla software I quoted a wrong number of comment for it.
Wolfgang, I tried your new testcase with LibreOffice 5.0 (don't know the exact version), but unfortunately it didn't work. Then I updated to LibreOffice 5.1.0.3 and now I can confirm your workaround. This will probably help me, thanks a lot.
Created attachment 126957 [details] Reworked demo containing additional proof for a claim. The demo was rework adding columns K through N to the otherwise unchanged sheet. This is done to prove the claim that also the FORMULA function is not correctly working in array-context under specific conditions despite the fact that FORMULA is returning the correct array if directly entered for array evaluation using (Ctrl+Shift+Enter). The one "specific condition" demonstrated is the occurrence of FORMULA(A2:A5) as a subformula on the ForceArray parameter position of SUMPRODUCT in cell M1 of the reworked sheet. Cases where FORMULA and ISFORMULA are used for array evaluation may not be very frequent. However, if used without success, the exploration of the cause of the error may be difficult.
FORMULA is returning the correct array in my tests under array evaluation since V5.1.1.3 (latest). Insofar: fixed - worksforme. ISFORMULA is showing the bug as demonstrated earlier still in V5.3.0.0 beta1.
** 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 with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. 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) from 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: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Taking.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a44d1b8d47e0ef6645c7c5def1fe5d34d470ae0b Resolves: tdf#91502 handle ISFORMULA() in array context It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2008a520e429bc2581001d61b63ff934c2255be0 Related: tdf#91502 handle FORMULA() pCur->IsInForceArray() as well It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=0d9f755fec6f29b72e9e4d110da3175ade46588c Introduce and use ScInterpreter::IsInArrayContext(), tdf#91502 follow-up It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Pending review for 6-1 https://gerrit.libreoffice.org/58174 https://gerrit.libreoffice.org/58175
Eike Rathke committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f3b221773c9a1afb88d4675c303f0f03a7ccaaea&h=libreoffice-6-1 Resolves: tdf#91502 handle ISFORMULA() in array context It will be available in 6.1.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Eike Rathke committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c20eb29560fa9d9e552c799203156c0742451eba&h=libreoffice-6-1 Related: tdf#91502 handle FORMULA() pCur->IsInForceArray() as well It will be available in 6.1.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.