在E列中,我试图将D列合并到下一个单元格E中,如果B列包含匹配项,则每个新单元格之间都有一个“/”。如果没有匹配项,则只需从D列中取值。如果您查看最终目标,它会解释得更好一点。我尝试了if(Match(但似乎不起作用。谢谢!
Explanation ProductID Qty Location Notes (END GOAL)
RMA-1234 SKU1 1 A1A1 A1A1
RMA-7444 SKU2 1 A1A2 A1A2
RMA-9837 KSC U 1 A1A6 A1A6/A1A7/A1A8
RMA-5837 KSC U 1 A1A7 A1A6/A1A7/A1A8
RMA-6342 KSC U 1 A1A8 A1A6/A1A7/A1A8
字符串
2条答案
按热度按时间byqmnocz1#
可以使用VBA,在有匹配项时遍历b列中的所有单元格,直到没有匹配项,然后用斜线连接这些值。
Ex.
字符串
这只是一个例子,如果你使用它,你必须为你的应用程序稍微调整一下,并编写代码,在相邻的单元格中插入你的连接值。
bwntbbo32#
您可以巧妙地使用内置的Excel公式来实现这一点。
下面是工作表,每个步骤都被分解了:
的数据
1.确保数据按
ProductID
排序1.创建完整列表公式:
=IF(B1=B2,E1&"/"&D2,D2)
1.计数公式:
=COUNTIF($B$2:$B$11,B2)
1.查找第一个示例公式:
=MATCH(B2,$B$2:$B$11,0)
1.完整列表与斜杠公式:
=OFFSET($B$1,G2+F2-1,3)
将所有这些公式从第2行向下拖到数据集的末尾。
我把这些步骤分解出来,这样你就可以更容易地理解了。但是,你也可以把这些都写在两列中。创建完整列表列和另一列,其中包含以下公式(它将我的示例中的最后四列连接在一起):
=OFFSET($B$1,MATCH(B2,$B$2:$B$11,0)+COUNTIF($B$2:$B$11,B2)-1,3)