【发布时间】:2021-03-29 06:13:54
【问题描述】:
我有一个简单的问题,我希望用一个非常简单的 Excel 函数来解决。
我有一个包含多行(都在一列中)的列表,其中包含属性及其对应的值,每行都用 | 分隔。基本上是这样的:
Color:Red|Size:M|COD:United States|Price:50.84
Color:Blue|Category:Jeans|COD:China|Price:29.95
现在,我想在单独的列中提取每个属性之后的字符串,并且仅在存在值时才填充该列。最后应该是这样的:
| LONGFORM | Color | Size | Category | COD | Price |
|---|---|---|---|---|---|
| Color:... | Red | M | United States | 50.84 | |
| Color:... | Second | Jeans | China | 29.95 |
我找到了使用以下代码的解决方案,但它仅适用于第一列:
=TEIL(LEFT($A2;MID("|";$A2)-1);FIND(B$1;$A2)+1+LEN(B$1);LEN($A2))
如果您知道解决它的 VBA 解决方案,也很感激!
【问题讨论】:
-
Split 在这里创造奇迹
-
参见此处了解类似内容。 stackoverflow.com/questions/64162586/…
-
你有什么版本的 Excel?如果你有 LET() 函数可用,它会在这里有所帮助。
标签: excel vba excel-formula extract