如何拆分表格中ASIN与FBA ID并实现行级映射关联?
拆分多值ASIN/FBA ID并生成一一对应行的Google Sheets实现
现有表格包含ASIN、LandedCostPrice_GBP、FBA ID三列,部分行的ASIN或FBA ID以下划线分隔多个值,需要将每行中每个ASIN与该行每个FBA ID一一对应,生成独立行并保留对应成本。例如:
- 单行多ASIN+单FBA ID:每个ASIN单独成行,对应同一个FBA ID和成本
- 单行单ASIN+多FBA ID:每个FBA ID单独成行,对应同一个ASIN和成本
示例原始数据
| ASIN | LandedCostPrice_GBP | FBA ID |
|---|---|---|
| B0016B20EG_B004X892NG_B00IMTXIZ0 | £18.05 | FBA15GSZGXB6 |
| B001QNGCF2_B000C212MG_B00B1AGNZY | £19.14 | FBA15GR6S1NX |
| B002XZLAWM | £6.09 | FBA15H6KFL5D_FBA15H6LQ93R_FBA15H6SB6H0_FBA15H7WYT6K |
| B003M0Y9YS_B07GNSFR3D | £4.99 | FBA15GSQV0VG |
| B003NLXDI4_B000YDHQE6 | £29.25 | FBA15GMQLD2Y |
| B003P30Z9U_B000C1Z6VA_B0097P42MQ | £36.16 | FBA15GPXV98B |
| B003VRWN9A | £4.52 | FBA15H3CHV0J_FBA15H4WTQSM |
| B0052EM8L8 | £10.76 | FBA15H6SB6H0_FBA15H77W12W |
| B007VRDQR4 | £6.38 | FBA15H6FCCKF_FBA15H6GQN09 |
| B009N38RFK_B086VXD7H5 | £6.31 | FBA15H2ZQ66T |
| B00AU92W5M_B0009OAHVO | £19.30 | FBA15GSCNSQC |
| B00BO8EVIE_B07GNRVCB5 | £4.64 | FBA15GSZDLTF |
| B00CGPMEAQ | £6.00 | FBA15H90LKZ7_FBA15H90ML9V_FBA15H91MFS5 |
| B00CGPMEAQ | £5.37 | FBA15H1C4YQG_FBA15H3JRPN8_FBA15H4524NJ_FBA15H4CGQTT_FBA15H4D4LXT |
| B00CGPMEAQ | £5.37 | FBA15GSCSDVH_FBA15GT34KB3_FBA15GTVCMNC |
| B00CGPMLDG | £4.14 | FBA15H69MT2N_FBA15H6BGWFC_FBA15H6GCQJD_FBA15H77NZ16_FBA15H8B9MG1_FBA15H8BBJCV |
| B00CGPMLDG | £4.06 | FBA15H030B71_FBA15H09RGM6_FBA15H0LC93B |
实现方案
核心公式
将以下公式粘贴到空白单元格(建议放在新工作表的A1位置),确保原始数据位于A2:C区域(表头在A1:C1):
=ARRAYFORMULA( LET( data, A2:C, asins, INDEX(data,,1), costs, INDEX(data,,2), fba_ids, INDEX(data,,3), split_asins, SPLIT(asins, "_"), split_fbas, SPLIT(fba_ids, "_"), row_indices, SEQUENCE(ROWS(data)), expanded, BYROW(row_indices, LAMBDA(r, LET( a, INDEX(split_asins, r,), c, INDEX(costs, r), f, INDEX(split_fbas, r,), IFERROR( HSTACK( FLATTEN(IF(f, a,)), FLATTEN(IF(f, c,)), FLATTEN(IF(a, f,)) ), "" ) ) )), FILTER(expanded, INDEX(expanded,,1)<>"") ) )
公式逻辑说明
LET:定义变量简化公式结构,避免重复引用数据区域SPLIT:将下划线分隔的多值内容拆分为数组BYROW:遍历每一行,针对当前行的ASIN数组和FBA ID数组生成笛卡尔积,实现每个ASIN与所有FBA ID的一一匹配FLATTEN:将二维匹配结果转为一维,完成行展开HSTACK:合并ASIN、成本、FBA ID三列,保持对应关系FILTER:过滤空行,只保留有效数据
内容的提问来源于stack exchange,提问作者user20777937
相关产品推荐
相关产品推荐

