单元格 A1、A2、A3 等包含类似于以下内容的字符串...
1 x Product A [SG014] 1 x Product B [SG026] 1 x Product C [SG023]
A 列中的每个单元格可以是最多 20 种不同产品及其相关代码的字符串(例如 SG014 等)。
在 B 列中,我想要一个返回第一个代码的公式。在 C 列中,我想要一个返回第二个代码的公式……依此类推……
有人能告诉我怎么做吗?
答案1
文本解析可能非常复杂,因为有多个分隔符(例如 [ 和 ])。这可能是因为使用大量空格严重变形文本,然后提取所需内容并对其进行修复TRIM
可能是最佳方法。
B1 中的公式是,
=TRIM(MID(REPT(" ", 999)&SUBSTITUTE(SUBSTITUTE($A1, "[", REPT(" ", 999)), "]", REPT(" ", 999)), COLUMN(A:A)*1999, 999))
根据需要填写。如果您发现在出现问题之前可以提取的相关代码的限制,请回复;我很想知道。如果您确实发现它不足以处理大量文本返回,请提高999数量99995 个位置全部为或更高(999和1999)。经过一些简单的数学计算,我得知 20 种产品应该是安全的。
答案2
如果所有产品代码都是 5 个字符(如您的示例),那么您可以在 B1 中使用此公式复制
=IFERROR(MID($A1,FIND("^",SUBSTITUTE($A1,"[","^",COLUMNS($B1:B1)))+1,5),"")