Convert array formula to "regular" formula or alternatively, how to force user to use Ctrl+Shift+Enter

Bering

Board Regular
Joined
Aug 22, 2018
Messages
185
Office Version
  1. 2016
Platform
  1. Windows
Hello,

I built the below array formula for a spreadsheet that we use at the office (column B).


  • ={ IFERROR(VLOOKUP(INDEX($E$1:$E$16,MATCH(TRUE,ISNUMBER(FIND($E$1:$E$16,A1,2)),0),1),$E$1:$F$16,2,0),"N/A")}

My concern is that, since the file will be used by many not-so-Excel savvy users, the { } might desappear for whatever reason, resulting in incorrect results.

Are you aware of any reliable way to prevent this potential issue to occur?

If feasible, I think the best way would be to re-work the formula into an equivalent regular (not array) formula. Alternatively, maybe something like:


  • Conditional formatting to highlight the missing {} hence reminding user to press Ctrl+Shift+Enter
  • VBA to re-add the the missing { }


Of course, I have no idea how to achieve any of those... :confused:


Any suggestion will be much appreciated!!

Thanks.
 
Last edited:

Excel Facts

Excel motto
Not everything I do at work revolves around Excel. Only the fun parts.
Here you go....This regular formula seems to do what you want:
Code:
=IFERROR(VLOOKUP(INDEX($E$1:$E$16,MATCH(TRUE,INDEX(ISNUMBER(FIND($E$1:$E$16,A1,2)),0),0),1),$E$1:$F$16,2,0),"N/A")

Does it?
 
Upvote 0
The VLOOKUP seems entirely superfluous to me:

=IFERROR(INDEX($F$1:$F$16,MATCH(TRUE,INDEX(ISNUMBER(FIND($E$1:$E$16,A1,2)),0),0)),"N/A")

Regards
 
Upvote 0
Solution
Thank you sooo much Ron, this works perfectly!! So, an additional Index formula did the trick... good to know :biggrin:

Have great day!
 
Last edited:
Upvote 0
Thanks for your comment. I do need the vlookup to retrieve data in column F, once a match is found. Ron's formula works perfectly.

The VLOOKUP seems entirely superfluous to me:

=IFERROR(INDEX($F$1:$F$16,MATCH(TRUE,INDEX(ISNUMBER(FIND($E$1:$E$16,A1,2)),0),0)),"N/A")

Regards
 
Upvote 0
It's a clunky way of getting the value from Col_F. I chose to keep the formula close to what the OP was familiar with.
This is a more concise approach:
Code:
=IFERROR(INDEX($E$1:$F$16,MATCH(TRUE,INDEX(ISNUMBER(FIND($E$1:$E$16,A1,2)),0),0),2),"N/A")
And even that can probably be improved upon.
 
Upvote 0
Thanks for your comment. I do need the vlookup to retrieve data in column F, once a match is found. Ron's formula works perfectly.

My formula is returning from column F. Try it next to yours and Ron's and let me know if you ever find a difference. Personally I can't see how you could, though please prove me wrong.

Regards
 
Upvote 0
oops, my apologies, you are right... I misunderstood your comment.

I confirm that all the three solutions proposed give me the correct answer.

You guys rock!! Thanks again :pray:


My formula is returning from column F. Try it next to yours and Ron's and let me know if you ever find a difference. Personally I can't see how you could, though please prove me wrong.

Regards
 
Last edited:
Upvote 0

Forum statistics

Threads
1,214,430
Messages
6,119,453
Members
448,898
Latest member
drewmorgan128

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top