I want to do a vlookup/if statement that follows the following logic:

```
Input to col F : If A:A = a , b , c, d , e then 'name' & col B:B, C:C, D:D else 'name2'
```

Edit: Maybe a mapping table could help, the logic I want is, In A2, if the data is a,b,c,d or e then return a string + concatentation of B2,C2,D2 else return another string.

Sample Data, Col E here is the output I would like.

```
+-------+----+----+----+------------+
| Stack | xx | yy | zz | Coolxxyyzz |
| Over | aa | bb | cc | Coolxxyyzz |
| Flow | dd | ee | ff | Coolxxyyzz |
| Super | gg | hh | ii | NotCool |
| User | ll | mm | nn | NotCool |
+-------+----+----+----+------------+
```

Conditions being Stack, Over, Flow are the ones I want to return a string and concatenate of B:D. If it is not Stack, Over,Flow return another string.

**adding some images to show error:**

## ① Hardcoded example formulas:

```
=IF(OR(A1="Stack",A1="Over",A1="Flow"),"Cool"&B1&C1&D1,"NotCool")
=IF(SUMPRODUCT(--({"Stack","Over","Flow"}=A1))>0,"Cool"&B1&C1&D1,"NotCool")
=IF(SUMPRODUCT(--ISNUMBER(SEARCH({"Stack","Over","Flow"},A1)))>0,"Cool"&B1&C1&D1,"NotCool")
```

## ② Lookup table – easier to maintain than the above as only change in one place.

If you want a lookup table, rather than hardcoding the array `{"Stack","Over","Flow"}`

, you can create a dynamic named range.

- Put your list of terms to match on in a separate column, let’s say from
`G1`

. - Press
`Ctrl`+`F3`to open the name manager - Add new item. Name:
`includeTerms`

RefersTo:=`OFFSET(Sheet1!$G$1,0,0,COUNTA(Sheet1!$G:$G),1)`

. This named range will automatically extend when ever you add more rows immediately below the existing terms. No need to edit the formula. - Refer to
`includeTerms`

in place of the array,`{"Stack","Over","Flow"}`

.

You can substitute the named range into my last 2 formulas above, or even use other formulas, such as:

```
=IF(ISERROR(MATCH(A1,includeTerms,0)),"NotCool","Cool" &B1&C1&D1)
=IF(ISERROR(VLOOKUP(A1,includeTerms,1,0)),"NotCool","Cool"&B1&C1&D1)
```

## Examples of these in sheet

*Formulas indicated in column `F`

and terms to match on in column `G`

):

Note: Using OR is probably the least preferred for future maintenance.

### Answer：

EDIT #1:

This formula works for the example given:

```
=IF(OR(A1="stack",A1="over",A1="flow"),"COOL"&B1&C1&D1&E1,"NOT COOL")
```

Google Sheets allows for vlookup to return multiple values

```
=ArrayFormula(VLOOKUP($A$14,$A$1:$G$9,{2,3,6,7},FALSE))
```

However excel does not have this built in functionality, you will have to break up the return into separate parts. I think formula below gives an example of what you would like to see:

```
=IFERROR("NAME"&VLOOKUP($F$6,$A$1:$E$14,2,FALSE)&VLOOKUP($F$6,$A$1:$E$14,3,FALSE)&VLOOKUP($F$6,$A$1:$E$14,4,FALSE)&VLOOKUP(F$6,$A$1:$E$14,5,FALSE),"NAME2")
```

Tags: excelexcel