如何根据行之间的分隔符合并 Excel 中的行?

问题描述

我有一个 Excel 工作表,我在其中粘贴了记事本中的文本。 问题是它为每行文本创建了一行。

行看起来像这样:

|Questions|
---------------
|Question #1 %| 
|Question text|
|Portion of the same question inserted on additional row|
|Multiple choice A|
|Multiple choice B|
|Multiple choice C|
|Multiple choice D|
|Question #2 %|

我用它作为分隔符“%”

我想使用此分隔符将它们之间的单元格合并/合并为一个单元格。 基本上每个问题一个单元格。大约有 3000 多个问题。我想进行一场比赛,看看哪些是重复的,但当问题被分解到不同的单元格时,我无法做到这一点。

我尝试使用 Text.Join、Concatenate、If 语句,但不幸的是我的知识和 Excel 技能很差且缺乏。

我很感激任何帮助。谢谢!

解决方法

以下方法有帮助吗?我把它分成几列来引导你了解这背后的逻辑。

enter image description here

基本上我做了以下事情:

B 列:我删除了所有尾随空格以及“|”象征 C 列:我检查了 A 列中的单元格是否有您的问题的标题或正文 D 列:与 C 列的逻辑相似,但这次我在前一行开始(见橙色单元格) E 列:如果我们在问题的开头,我们将单元格 A 复制到单元格 E。如果我们在问题的正文中,我们将 E 列的前一个单元格连接到 A 列中的单元格。

您需要将所有公式放在橙色单元格中,然后您可以将它们向下拖动。

每列的公式:

Col B:=LEFT(RIGHT(TRIM(A3),LEN(TRIM(A3))-1),LEN(RIGHT(TRIM(A3),LEN(TRIM(A3))-1))-1)

Col C: =IF(RIGHT(B3,1)="%","HEAD","BODY")

Col D: =IF(RIGHT(B3,"keep","ignore")

Col E: =IF(C3="BODY",E2&" "&B3,B3)

我认为您基本上会对黄色的单元格感兴趣,可以通过使用 D 列中的过滤器将其设置为“保持”来获得。

在 D 列中应用过滤器,以便保留包含整个问题-答案的单元格,这会为您提供以下结果。 到达此处后,您可以使用 E 列的单元格中的值来运行重复分析。 enter image description here