[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 Eike Rathke changed: What|Removed |Added Assignee|libreoffice-b...@lists.free |er...@redhat.com |desktop.org | -- You are receiving this mail because: You are the assignee for the bug.
[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 Eike Rathke changed: What|Removed |Added CC||mikekagan...@hotmail.com --- Comment #5 from Eike Rathke --- @Mike: Does full (non-online) Excel do vector replication in INDEX()? i.e. with array-row separator ; semicolon does =INDEX({1;2};0;2) return error, or does it return column vector {1;2}? (transform separators to whatever is correct for your Excel..) Similar, does =INDEX({1;2};2;2) return error, or 2? -- You are receiving this mail because: You are the assignee for the bug.
[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 --- Comment #4 from Eike Rathke --- You are complicating things and just repeating what I gave.. =INDEX({11;21};0;1) CSE is exactly the column vector case I said is not working as it should. =INDEX({11|12};1;0) CSE the same but for row vector. Fwiw, you can see in the Function Wizard what actually is returned for the examples; whether the formula is entered as CSE-array or normal only affects how the final result is displayed, either as full array result (CSE) or just the single top left element's value (normal). > in Excel I believe that =INDEX({1,2};2) should had been #REF! But it isn't, is it? -- You are receiving this mail because: You are the assignee for the bug.
[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 --- Comment #3 from ady --- Using LO 7.4.5, here is what I have tested ("|" is column separator, ";" as both row and argument separators). In a pre-dynamic formula context, with INDEX() in array form *by itself*: A_ { =INDEX({11|12;21|22};0;1) } (with CSE) =11 (1st row, 1st col) =21 (2nd row, 1st col) OK. B_ =INDEX({11|12;21|22};0;1) (_no_ CSE) =11 (1st row only) OK. C_ { =INDEX({11;21};0;1) } (with CSE) =11 (1st row) NOT OK. We should also get: =21 (2nd row) D_ =INDEX({11;21};0;1) (_no_ CSE) =11 (1st row) OK, but expected considering result "C" above. E_ { =INDEX({11|12};1;0) } (with CSE) =11 (1st col) NOT OK. We should also get: =12 (2nd col) F_ =INDEX({11|12};1;0) (_no_ CSE) =11 (1st col) OK, but expected considering result "E" above. Considering that those are wrong results already, I have not tested additional possibilities such as default values when arguments are omitted, or out-of-scope arguments, or wrong-type arguments. Please note that these are examples of INDEX() by itself. When INDEX() is used as lookup_array for MATCH() (as in the example in comment 0), then CSE should not be required in order to obtain the array to be fed for MATCH(). Once the above examples get to work, I should be able to test them in combination with MATCH() as in the example in comment 0. PS: FWIW, in Excel I believe that =INDEX({1,2};2) should had been #REF!, IIUC (whether with CSE or not). -- You are receiving this mail because: You are the assignee for the bug.
[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 --- Comment #2 from Eike Rathke --- Note that in Excel the cases =INDEX({1;2};0;0) =INDEX({1,2};0;0) =INDEX({1,2;3,4};0;0) with both row_num=0 and column_num=0 that they document to not work at all and return error. There is no compelling reason though why it shouldn't and it works in Calc. Additionally there is a working case that they do not document, if the array is a one-dimensional row vector then if column_num is not given then the row_num argument acts as a column index. E.g. =INDEX({1,2};2) returns 2, as does =INDEX({1,2};0;2) That is specified by ODFF v1.3 in 6.14.6 INDEX https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html#INDEX -- You are receiving this mail because: You are the assignee for the bug.
[Libreoffice-bugs] [Bug 154125] INDEX() does not return a vector of an array if that is only a vector, but only the first element
https://bugs.documentfoundation.org/show_bug.cgi?id=154125 Eike Rathke changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED Summary|[ FILEOPEN ] [ FILESAVE ] |INDEX() does not return a |Behavior of Calc function |vector of an array if that |INDEX() in array-like cases |is only a vector, but only ||the first element --- Comment #1 from Eike Rathke --- This is not a matter of load/save (adjusting summary). Also, it's not about array formula vs non-array formula. The formulas in the example document are explicitly stored as array formulas by Excel, hence Calc correctly displays them in {} curly braces. It's also not that in Calc one would have to enter an array formula for this MATCH() case to get a result if INDEX() worked correctly. It's simply that INDEX() does not return a column or row vector of an array that is already a single column or row vector. E.g. with , comma as array-column separator and ; semicolon as array-row separator: =INDEX({1;2};0;1) (all rows, column 1) should return {1;2} but returns 1 =INDEX({1,2};1;0) (row 1, all columns) should return {1,2} but returns 1 =INDEX({1;2};0;0) (all rows, all columns) correctly returns {1;2} =INDEX({1,2};0;0) (all rows, all columns) correctly returns {1,2} =INDEX({1;2};1;0) (row 1, all columns) correctly returns 1 =INDEX({1,2};0;1) (all rows, column 1) correctly returns 1 =INDEX({1,2;3,4};0;0) correctly returns {0,1;2,3} =INDEX({1,2;3,4};0;1) correctly returns {1;3} =INDEX({1,2;3,4};1;0) correctly returns {1,2} -- You are receiving this mail because: You are the assignee for the bug.