{"text_format":"3","workbook":"xls","n_sheets":2,"sheets":["Read Me","IF"],"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 lookup functions: VLOOKUP, HLOOKUP, LOOKUP and MATCH"]
["Name of the main junit test class which uses this spreadsheet:"]
["org.apache.poi.ss.formula.functions.TestIFFunctionFromSpreadsheet"]
["(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":"IF","index":1,"n_rows":61,"n_cols":8,"rows_kept":61,"merged":[[4,3,7,3],[9,3,12,3],[45,4,45,6]],"flags":["formulas_cached_only"]}
[null,"Sheet Comment:","Simple tests of IF using basic argument values"]
[]
[null,"Formula","Expected Result","Comment","Data"]
[{"$nulls":3},"Basic case"]
[null,"Fail","Fail","run a test, return one result if TRUE, another if FALSE",5]
[null,"Fail","Fail",null,10]
[null,"Pass","Pass",null,15]
[null,"Pass","Pass",null,20]
[]
[null,"Fail","Fail","reverse of B5:B8, returns same result",5]
[null,"Fail","Fail",null,10]
[null,"Pass","Pass",null,15]
[null,"Pass","Pass",null,20]
[]
[null,"C","C","nested Ifs",76]
[]
[null,"Open","Open","If cell is blank","x"]
[null,"Closed","Closed"]
[null,"Closed","Closed"]
[null,"Open","Open",null,"x"]
[]
[null,1,1,"arrays arguments, 3 args",1]
[null,2,2,null,2]
[null,3,3,null,3]
[null,0,0,null,4]
[null,0,0,null,5]
[]
[null,15,15,"bug 62904",5,12]
[{"$nulls":4},10]
[{"$nulls":4},15]
[{"$nulls":4},20]
[{"$nulls":4},25]
[{"$nulls":4},30]
[]
[null,false,false,"array arguments, 2 args",1]
[null,false,false,null,2]
[null,false,false,null,3]
[null,4,4,null,4]
[null,5,5,null,5]
[]
[null,1,1,"array arguments",false]
[null,2,2,"logical test is a reference",false]
[null,3,3,null,false]
[null,0,0,null,true]
[null,0,0,null,true]
[{"$nulls":4},"test data"]
[null,"2017-07-12","2017-07-12","the last date POI was donated to","2005-01-01","POI",{"v":100,"d":"$100.00"},{"v":1,"d":"$1.00"}]
[null,"2008-02-25","2008-02-25","the last date Tika was donated to","2008-02-25","Tika",{"v":300,"d":"$300.00"},{"v":2,"d":"$2.00"}]
[{"$nulls":4},"2017-07-12","POI",{"v":500,"d":"$500.00"},{"v":3,"d":"$3.00"}]
[null,500,500,"MAX-IF the largest donation to POI","2007-08-05","Tika",{"v":200,"d":"$200.00"},{"v":4,"d":"$4.00"}]
[null,800,800,"SUM-IF total donations to POI","2010-09-10","POI",{"v":200,"d":"$200.00"},{"v":5,"d":"$5.00"}]
[null,815,815,"SUM-IF total donations to POI with 3rd array arg"]
[null,803,803,"SUM-IF total donations to POI with 3rd scalar arg"]
[null,200,200,"LARGE-IF 2nd largest donation"]
[null,200,200,"SMALL-IF 2nd smallest donation"]
[null,12,12,"SUM-IF 2nd arg missing"]
[null,3,3,"SUM-IF 3rd arg missing"]
[null,100,100,"MIN-IF donation to POI"]
[null,300,300,"MAX-IF donation to Tika"]
[]
["<end>"]