VLookups suddenly malfunctioning on one computer only

I am using a Mac Studio 2022 M1 Max Sequoia macOS 15.5. Numbers is current version. I have a budget with VLOOKUPs retrieving an amount from a column of currency. The VLOOKUP from any given cell looks up a code from the header of the column it is in, and then goes to the code that labels the currency in its row and retrieves that currency number. Recently this budget file has gone haywire and all the columns copy over all the currency cells, regardless of whether they match with their header. I opened the exact same file (living in DropBox) on an older computer (2013 iMac Mojave 10.14.6) older version of Numbers (10.1) and it is fine there. This all might have been triggered by exporting the file to Excel… What the heck is going on?

Mac Studio, macOS 15.5

Posted on May 20, 2025 3:47 PM

Reply
Question marked as Top-ranking reply

Posted on May 20, 2025 3:57 PM

Do the cells in question have blue triangles on them?


Without seeing the sheet, it's impossible to tell (even from the description), but my first guess is that the formulas are reacting to Numbers' recently-added support for arrays.


Some functions and references in a formula could, theoretically, return a range of values (called an array). However, previous versions of Numbers would only ever return the first item in the array and it may be that your spreadsheet depended on that (because you never had to worry about the extra values)

Newer versions of Numbers can return the entire array, which can be advantageous.


Sometimes it's ambiguous as to whether you want the single value or the array, so Numbers lets you define it, but that definition is missing in older files that pre-date array support.


When opening an older file, Numbers' usually makes the right call on how to interpret formulas that could return an array, but it's possible that the way you're using it gets misinterpreted. It puts a blue triangle on the cells that it thinks could be using a single value vs. array, as an indicator that you should check the cell for accuracy.


The fix should be fairly simply, but the specifics depend on knowing more about what the function is and what data it should be returning, which we can't see. Can you post more details including, possibly, a screenshot or example of the function you're using.

Similar questions

6 replies
Question marked as Top-ranking reply

May 20, 2025 3:57 PM in response to ArcadianRoss

Do the cells in question have blue triangles on them?


Without seeing the sheet, it's impossible to tell (even from the description), but my first guess is that the formulas are reacting to Numbers' recently-added support for arrays.


Some functions and references in a formula could, theoretically, return a range of values (called an array). However, previous versions of Numbers would only ever return the first item in the array and it may be that your spreadsheet depended on that (because you never had to worry about the extra values)

Newer versions of Numbers can return the entire array, which can be advantageous.


Sometimes it's ambiguous as to whether you want the single value or the array, so Numbers lets you define it, but that definition is missing in older files that pre-date array support.


When opening an older file, Numbers' usually makes the right call on how to interpret formulas that could return an array, but it's possible that the way you're using it gets misinterpreted. It puts a blue triangle on the cells that it thinks could be using a single value vs. array, as an indicator that you should check the cell for accuracy.


The fix should be fairly simply, but the specifics depend on knowing more about what the function is and what data it should be returning, which we can't see. Can you post more details including, possibly, a screenshot or example of the function you're using.

May 22, 2025 11:51 AM in response to ArcadianRoss

It's not so much that VLOOKUP() no longer works (or, at least, should still work), just that XLOOKUP does everything VLOOKUP() and HLOOKUP() does, and more,, including default values for missing results, so you can nix the whole 'IFERROR()' setup.


That said, it still isn't clear what's at fault here. From your spreadsheet, it looks like Q24 is doing the right thing... are you saying that should be some other value? Or is it some other cell that's at fault?


The only thing that might make a difference is that you're using a close match on the VLOOKUP, meaning that if the value isn't found, Numbers will return the next-largest value from the search column. Given the nature of the table I would expect this to require an exact match, and that would require a FALSE, or 0 in the last parameter. Indeed, the fact you're wrapping this in IFERROR() implies that you want an exact match, otherwise a close-match VLOOKUP would always return some value (even if not the value you want).


For reference, Number's VLOOKUP() definition states:


VLOOKUP(search-for, columns-range, return-column, close-match)

    • search-for: The value to find. search-for can contain any value, or a REGEX string.
    • columns-range: A collection of cells. columns-range must contain a reference to a single range of cells, which may contain any values.
    • return-column: A number value that specifies the relative column number of the cell from which to return the value. The leftmost column in the collection is column 1.
    • close-match: An optional modal value that determines whether an exact match is required.
      • close match (TRUE, 1, or omitted): If there’s no exact match, select the row with the largest left-column value that is less than or equal to the search value. If you use close match, you can’t use wildcards in search-for.
      • exact match (FALSE or 0): If there’s no exact match, returns an error. If you use exact match, you can use wildcards in search-for. You can use the wildcard ? (question mark) to represent one character, an * (asterisk) to represent multiple characters, and a ~ (tilde) to specify that the following character should be matched rather than used as a wildcard. REGEX can only be used in VLOOKUP if you use exact match.

May 21, 2025 10:05 PM in response to ArcadianRoss

I don't have specific suggestions because I'm having trouble following what you are showing in the table.


But that's a really "Excelsy" looking document!


Your life in Numbers will be much easier if you use multiple tables on a sheet rather than one big grid of cells like this. If you haven't done so already try having a look at the built-in templates at File > New in the menu. They are good examples of effective document design in Numbers.


And though the document may be new, you are using ancient functions like VLOOKUP. Why not use modern ones like XLOOKUP?


XLOOKUP - Apple Support


SG

May 21, 2025 9:09 AM in response to Camelot

Hi Camelot,

Thanks so much for your reply.

No blue triangles. Cell Q24 in the Production column has this formula. IFERROR(VLOOKUP(Q$2,$C24:$E24,3,),"")

Note that the VLOOKUPs are returning the currency amount on the correct cell AND anything higher than that.

Due to the ability of the older computer/OS/version of Numbers to open the file successfully I am suspecting this is an OS update thing.

To be clear this is not an 'older file'. It is an active file that has functioned perfectly for over a year.

Cheers,

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

VLookups suddenly malfunctioning on one computer only

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.