Fixes a bug when doing a HLOOKUP on a single row.
```php
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
/**
 * Single row.
 */
$singleRow = "=HLOOKUP(10, {5, 10, 15}, 1, 0)";
$sheet->getCell('A1')->setValue($singleRow);
// Should echo 10, but echos '#N/A' and some PHP notices and warnings.
echo $sheet->getCell('A1')->getCalculatedValue() . PHP_EOL;
/**
 * Multiple rows.
 */
$multipleRows = "=HLOOKUP(10, {5, 10, 15; 20, 25, 30}, 1, 0)";
$sheet->getCell('A2')->setValue($multipleRows);
// Should echo: 10 and also does.
echo $sheet->getCell('A2')->getCalculatedValue() . PHP_EOL;
```
Co-authored-by: Mark Baker <mark@lange.demon.co.uk>
		
	
			
		
			
				
	
	
		
			312 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			312 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
return [
 | 
						|
    [
 | 
						|
        16.800000000000001,
 | 
						|
        10251,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Order ID',
 | 
						|
                10247,
 | 
						|
                10249,
 | 
						|
                10250,
 | 
						|
                10251,
 | 
						|
                10252,
 | 
						|
                10253,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Unit Price',
 | 
						|
                14.0,
 | 
						|
                18.600000000000001,
 | 
						|
                7.7000000000000002,
 | 
						|
                16.800000000000001,
 | 
						|
                16.800000000000001,
 | 
						|
                64.799999999999997,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Quantity',
 | 
						|
                12,
 | 
						|
                9,
 | 
						|
                10,
 | 
						|
                6,
 | 
						|
                20,
 | 
						|
                40,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        6.0,
 | 
						|
        10251,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Order ID',
 | 
						|
                10247,
 | 
						|
                10249,
 | 
						|
                10250,
 | 
						|
                10251,
 | 
						|
                10252,
 | 
						|
                10253,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Unit Price',
 | 
						|
                14.0,
 | 
						|
                18.600000000000001,
 | 
						|
                7.7000000000000002,
 | 
						|
                16.800000000000001,
 | 
						|
                16.800000000000001,
 | 
						|
                64.799999999999997,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Quantity',
 | 
						|
                12,
 | 
						|
                9,
 | 
						|
                10,
 | 
						|
                6,
 | 
						|
                20,
 | 
						|
                40,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        3,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        '#N/A',
 | 
						|
        10248,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Order ID',
 | 
						|
                10247,
 | 
						|
                10249,
 | 
						|
                10250,
 | 
						|
                10251,
 | 
						|
                10252,
 | 
						|
                10253,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Unit Price',
 | 
						|
                14.0,
 | 
						|
                18.600000000000001,
 | 
						|
                7.7000000000000002,
 | 
						|
                16.800000000000001,
 | 
						|
                16.800000000000001,
 | 
						|
                64.799999999999997,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Quantity',
 | 
						|
                12,
 | 
						|
                9,
 | 
						|
                10,
 | 
						|
                6,
 | 
						|
                20,
 | 
						|
                40,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        14.0,
 | 
						|
        10248,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Order ID',
 | 
						|
                10247,
 | 
						|
                10249,
 | 
						|
                10250,
 | 
						|
                10251,
 | 
						|
                10252,
 | 
						|
                10253,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Unit Price',
 | 
						|
                14.0,
 | 
						|
                18.600000000000001,
 | 
						|
                7.7000000000000002,
 | 
						|
                16.800000000000001,
 | 
						|
                16.800000000000001,
 | 
						|
                64.799999999999997,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'Quantity',
 | 
						|
                12,
 | 
						|
                9,
 | 
						|
                10,
 | 
						|
                6,
 | 
						|
                20,
 | 
						|
                40,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        true,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        4,
 | 
						|
        'Axles',
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Axles',
 | 
						|
                'Bearings',
 | 
						|
                'Bolts',
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                4,
 | 
						|
                4,
 | 
						|
                9,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                5,
 | 
						|
                7,
 | 
						|
                10,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                6,
 | 
						|
                8,
 | 
						|
                11,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        true,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        7,
 | 
						|
        'Bearings',
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Axles',
 | 
						|
                'Bearings',
 | 
						|
                'Bolts',
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                4,
 | 
						|
                4,
 | 
						|
                9,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                5,
 | 
						|
                7,
 | 
						|
                10,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                6,
 | 
						|
                8,
 | 
						|
                11,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        3,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        5,
 | 
						|
        'B',
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Axles',
 | 
						|
                'Bearings',
 | 
						|
                'Bolts',
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                4,
 | 
						|
                4,
 | 
						|
                9,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                5,
 | 
						|
                7,
 | 
						|
                10,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                6,
 | 
						|
                8,
 | 
						|
                11,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        3,
 | 
						|
        true,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        11,
 | 
						|
        'Bolts',
 | 
						|
        [
 | 
						|
            [
 | 
						|
                'Axles',
 | 
						|
                'Bearings',
 | 
						|
                'Bolts',
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                4,
 | 
						|
                4,
 | 
						|
                9,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                5,
 | 
						|
                7,
 | 
						|
                10,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                6,
 | 
						|
                8,
 | 
						|
                11,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        4,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        'c',
 | 
						|
        3,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                1,
 | 
						|
                2,
 | 
						|
                3,
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'a',
 | 
						|
                'b',
 | 
						|
                'c',
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'd',
 | 
						|
                'e',
 | 
						|
                'f',
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        true,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        3,
 | 
						|
        3,
 | 
						|
        [
 | 
						|
            [
 | 
						|
                1,
 | 
						|
                2,
 | 
						|
                3,
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        1,
 | 
						|
        true,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        5,
 | 
						|
        'x',
 | 
						|
        [
 | 
						|
            ['Selection column', '0', '0', '0', '0', 'x', 'x', 'x', 'x', 'x'],
 | 
						|
            ['Value to retrieve', 1, 2, 3, 4, 5, 6, 7, 8, 9],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        2,
 | 
						|
        'B',
 | 
						|
        [
 | 
						|
            ['Selection column', 'C', 'B', 'A'],
 | 
						|
            ['Value to retrieve', 3, 2, 1],
 | 
						|
        ],
 | 
						|
        2,
 | 
						|
        false,
 | 
						|
    ],
 | 
						|
];
 |