https://issues.apache.org/ooo/show_bug.cgi?id=117843

--- Comment #6 from hanya <[email protected]> ---
ScMatrix instance is filled in lcl_convertToTokenArray function called from 
ScExternalRefManager::getDoubleRefTokens method when the source document is
loaded. 
The matrix is prepared for the shrunk data area. If the range contains empty
cells 
at left or top side of the range, the matrix has smaller number of columns or
rows. 
The contents of the matrix is assigned by PutXXX methods and invalid position 
of column or row is ignored to be assigned. 
In the case of Comment 5, the matrix is initialized with single row and three
columns ("A", "B", "C"). 
Indexes for each columns are 2, 3 and 4. But the matrix allows 0, 1 and 2 for 
column index. Therefore only "A" was assigned to the matrix.
Strange two cells having zero value (can be taken from empty cells) in Comment
5
 was inserted in ScExternalRefCache::setCellRangeData method because 
the 0 and 1 elements are not empty (SC_MATVAL_EMPTY is not assigned).

nC and nR should be fixed like the following in lcl_convertToTokenArray
function: 
SCSIZE nC = nCol - nDataCol1, nR = nRow - nDataRow1;
But this is not enough. The result of MATCH function is shifted by number of 
empty cells with the above fix.

-- 
You are receiving this mail because:
You are on the CC list for the issue.
You are watching all issue changes.

Reply via email to