• 516K Members
• 6,728 Online
• 613K Conversations
SOLVED

How to search a table/colum with 2 hits

Occasional Contributor

How to search a table/colum with 2 hits

Hello,

i have a table with Products and machines. If there is an "X" the machine could be use for this product.

I want to search for the Product and give out the possible machine Name. Possible machine is Marked with an "x"

For Example:

Output should be like shown in the Picture.

How can i do this?

What Formula do i Need?

3 Replies
Solution

Re: How to search a table/colum with 2 hits

@DKoh , with model like this

you may use in B3

`=IFERROR(INDEX(\$1:\$1,AGGREGATE(15,6,1/(\$B2:\$AA2="x")*(COLUMN(\$B\$2:\$AA\$2)-COLUMN(\$A\$5)+1), (COLUMN()-COLUMN(\$A\$5)))),"")`

, drag it to the right till empty cells appear and when to the down

Re: How to search a table/colum with 2 hits

That would be great

Re: How to search a table/colum with 2 hits

Sorry, I missed that your question.

INDEX returns the value of the cell which is in entire (third parameter missed or zero) row (first parameter) on position defined with second parameter.

We find that position using AGGREGATE. It return Nth (fourth parameter) smallest (first parameter 15) from the array (third parameter) ignoring all errors (second parameter 6).  As an array we take column numbers of your data range multiplying them on 1/ logical check if the cell has the value "x". Since TRUE is equal to 1 and FALSE to 0, we have an array with ignoring errors or 1s. For the first current column  4th parameters return 1 (thus you find first smallest column number for the cell with "x"), for the next cell it'll be second smallest, etc.

Finally we wrap entire formula with IFERROR to return empty string if Nth smallest is not found.

You may stay on the cell with formula and check calculations by steps with Formula-Evaluate formula on ribbon.

Previous time I overcomplicated the formula a bit, it could be like

`=IFERROR(INDEX(\$1:\$1,AGGREGATE(15,6,1/(\$C2:\$AB2="x")*COLUMN(\$C\$2:\$AB\$2), (COLUMN()-COLUMN(\$B\$5)))),"")`