84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| // result, message, rate, values, dates
 | |
| 
 | |
| return [
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         'If rate is not numeric, returns the #VALUE! error value',
 | |
|         'xyz',
 | |
|         [0, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000],
 | |
|         ['2018-06-30', '2018-12-31', '2019-12-31', '2020-12-31', '2021-12-31', '2022-12-31', '2023-12-31', '2024-12-31', '2025-12-31', '2026-12-31', '2027-12-31'],
 | |
|     ],
 | |
|     [
 | |
|         1000.0,
 | |
|         'Okay to specify values and dates as non-array',
 | |
|         0.10,
 | |
|         1000.0,
 | |
|         '2018-06-30',
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         'If different number of elements in values and dates, return NUM',
 | |
|         0.10,
 | |
|         [1000.0, 1000.1],
 | |
|         '2018-06-30',
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         'If minimum value > 0, return NUM',
 | |
|         0.10,
 | |
|         [1000.0, 1000.1],
 | |
|         ['2018-06-30', '2018-07-30'],
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         'If maximum value < 0, return NUM',
 | |
|         0.10,
 | |
|         [-1000.0, -1000.1],
 | |
|         ['2018-06-30', '2018-07-30'],
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         'If any value is non-numeric, return VALUE',
 | |
|         0.10,
 | |
|         [-1000.0, 1000.1, 'x'],
 | |
|         ['2018-06-30', '2018-07-30', '2018-08-30'],
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         'If first date is non-numeric, return VALUE',
 | |
|         0.10,
 | |
|         [-1000.0, 1000.1, 1000.2],
 | |
|         ['2018-06x30', '2018-07-30', '2018-08-30'],
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         'If any other date is non-numeric, return VALUE',
 | |
|         0.10,
 | |
|         [-1000.0, 1000.1, 1000.2],
 | |
|         ['2018-06-30', '2018-07-30', '2018-08z30'],
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         'If any date is before first date, return NUM',
 | |
|         0.10,
 | |
|         [-1000.0, 1000.1, 1000.2],
 | |
|         ['2018-06-30', '2018-07-30', '2018-05-30'],
 | |
|     ],
 | |
|     [
 | |
|         772830.734,
 | |
|         'XNPV calculation #1 is incorrect',
 | |
|         0.10,
 | |
|         [0, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000],
 | |
|         ['2018-06-30', '2018-12-31', '2019-12-31', '2020-12-31', '2021-12-31', '2022-12-31', '2023-12-31', '2024-12-31', '2025-12-31', '2026-12-31', '2027-12-31'],
 | |
|     ],
 | |
|     [
 | |
|         22.257507852701,
 | |
|         'Gnumeric gets this right, Excel returns #NUM, Libre returns incorrect result',
 | |
|         -0.10,
 | |
|         [-100.0, 110.0],
 | |
|         ['2019-12-31', '2020-12-31'],
 | |
|     ],
 | |
| ];
 | 
