我有两列名称(名称1,名称2(,我想将它们连接到一列中。
[CURRENT DATA SET] [FORMULA - CONCAT]
| A | B | | D |
| Name1 | Name2 | | Name1_Name2 |
| Name3 | Name4 | | Name3_Name4 |
| Name5 | Name6 | | Name5_Name6 |
这部分使用我的ARRAYFORMULA:
=ARRAYFORMULA(
IF(
ISBLANK(B4:B),
CONCAT(A4:A,B4:B),
CONCAT(A4:A,("_"&B4:B))
)
)
问题是:有时我需要CONCAT公式先放B列,然后放A列(例如Name2_Name1(。
目标:CONCAT公式需要以包含有效名称选项列表的辅助列为条件。
逻辑:
- 如果辅助列与CONCAT匹配,则为CONCAT ColumnA_ColumnB
- 如果辅助列与CONCAT不匹配,则为ColumnB_ColumnA
- 如果仍然不匹配,请留空
使用辅助列的预期结果
[CURRENT DATA SET] [Helper Column] [EXPECTED RESULTS]
| A | B | | C | | D |
| Name1 | Name2 | | Name1_Name2 | | Name1_Name2 |
| Name3 | Name4 | | Name6_Name5 | | Name3_Name4 |
| Name5 | Name6 | | Name3_Name4 | | Name6_Name5 |
| Name7 | | | Name5 | | |
| Name5 | | | Name8 | | Name5 |
有可能创建一个数组来实现这些预期结果吗?
这是我的谷歌主页:点击这里
看看这是否适用于您:
=ArrayFormula(IFERROR(IFERROR(VLOOKUP(A4:A&IF(LEN(B4:B), "_"&B4:B,), D4:D, 1, 0), VLOOKUP(IF(LEN(B4:B), B4:B&"_",)&A4:A, D4:D, 1, 0))))