{"text_format":"3","workbook":"xls","n_sheets":2,"sheets":["Read Me","Indirect"],"not_rendered":{"external_links":1,"defined_names":5},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Read Me","index":0,"n_rows":11,"n_cols":1,"rows_kept":11,"flags":["formulas_cached_only"]}
["This spreadsheet contains various test cases for INDIRECT functions"]
["Name of the main junit test class which uses this spreadsheet:"]
["org.apache.poi.ss.formula.functions.TestIndirectFunctionFromSpreadsheet"]
["(The content of cell 'Read Me'!A3 is confirmed by the test)"]
[]
["Every sheet besides this first one contains formula evaluation test cases in a standardised format."]
["On row 4 of each sheet, in columns B,C,D there are the column headings \"Formula\", \"Expected Result\" and \"Comment\""]
["The test iterates down from row 5 onward  until a the text \"<end>\" is found in column A.   Rows with \"<skip>\" in column A are ignored (useful for currently unsupported behaviour).  Otherwise column A can be used for commenting the group of rows below. "]
["If the evaluated result of column B does not match the expected result in column C, the junit test will report a failure.  Test failures get annotated with the section and row comments, if any."]
["Besides the first 4 columns, row 5 onwards, the junit test does not inspect any other cells in the sheet.  The other cells can be used freely to set up test data."]
["Care should be taken to not only make the values in column C match those in column B, but also to make sure column C contains only simple literal values.  This can be achieved easily by 'pasting special' from column B to C, selecting the 'as values' option."]

{"sheet":"Indirect","index":1,"n_rows":141,"n_cols":12,"rows_kept":141,"flags":["formulas_cached_only"]}
[null,"Sheet Comment:","Simple tests of indirect using basic argument values",{"$nulls":4},"data","data","sheet name","data","data"]
[{"$nulls":7},"I2","K2","Indirect","L2",1.333]
["A1-style reference","Formula","Expected Result","Comment",{"$nulls":3},"I3","K3",null,"L3",45]
[null,"K2","K2","simple",true,null,null,"I4","K4",null,"L4",10]
[null,"K3","K3","simple",true,null,null,"I5",3,null,"L5",62]
[null,3,3,"dynamic column",true,null,null,5,10]
[null,"K3","K3","using range",true,null,null,8,12]
[null,"K3","K3","fix sheet name & dynamic range with colum indirection I3:I3",true]
[null,"K3","K3","fix sheet name & dynamic range with row area 8:8",true]
[null,"K3","K3","fix sheet name & fix range with row area 8:8",true]
[null,"L3","L3","indirect with fix range with row area 8:8",true]
[null,"K3","K3","dynamic sheet name & dynamic range with row area 8:8",true]
[null,"K3","K3","building range with concatenation",true]
[null,{"$error":"#REF!"},{"$error":"#REF!"},null,true]
[null,0,0,null,true]
[]
[]
["R1C1-style reference"]
["<skip>",{"$error":"#REF!"},{"$error":"#REF!"},"R1C1 style not supported yet",false]
["<skip>",{"$error":"#REF!"},{"$error":"#REF!"},"R1C1 style not supported yet",false]
["<skip>",{"$error":"#REF!"},{"$error":"#REF!"},"R1C1 style not supported yet",false]
["<skip>",{"$error":"#REF!"},{"$error":"#REF!"},"R1C1 style not supported yet",false]
["<skip>",{"$error":"#REF!"},{"$error":"#REF!"},"R1C1 style not supported yet",false]
["<end>"]
{"$rows_empty":116}
["<end>"]