条件CONCAT基于Google Sheets中使用ARRAYFORMULA的辅助列数据



我有两列名称(名称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))))

最新更新