使用Excel有条件地连接多行

我有一个大的数据文件,从提取过程中有一些破损的行。 我试图清理它在Excel中,并遇到多行检查问题。 我可以在我的公式中embedded一定数量的IF语句,但是存在缺失值的风险。 数据示例如下所示(将string粘贴到列A中):

'ID_Value','last_name','first_name','','dob','gender'comment comment comment comment' 'ID_Value','last_name','first_name','','dob','gender'comment' 'ID_Value','last_name','first_name','','dob','gender'comment' 'ID_Value','last_name','first_name','','dob','gender'comment comment comment comment comment' 

我需要滚动注释行到他们之前的普通行。 目前我可以识别所有的行,并且可以在有两个注释行的时候使它工作,但是超出了我不知所措的程度。

 Formula in Column B: =IF(LEFT(A1, 1) = "'", "IGNORE", "FLAG") Formula in Column C: =(IF(B2 = "FLAG", IF(B1 = "FLAG", "MOVE"))) Formula in Column D: =IF(B2 = "FLAG", IF(B1 = "FLAG", IF(C2 = "MOVE", CONCATENATE(A1, A2)))) 

任何build议,非常感谢。

在这里,你应该这样做。 在这里下载电子表格。
电子表格示例

将数据粘贴到Sheet 1单元格A1中,然后单击run_filterbutton。 或者,您可以先使用Sheet1中已存在的虚拟数据运行它,然后检查结果是否按预期工作。

几个警告。

  1. 当macros遇到列A中的空白单元格时,macros将停止。这是我如何确定macros应该结束。
  2. 评论应该包含不超过5个逗号,否则他们会被解释为真实的数据。
  3. 空格字符被添加到注释中。
  4. 第一行不应该包含注释。

将会创build一个名为Filtered_Result的新工作表,并显示所需的结果。

如果要查看代码,请单击开发人员选项卡。 如果不存在请点击这里如何添加标签然后点击macrosbutton。 宏按钮 单击macroscombine_comments上的编辑button以查看代码。 编辑按钮

试一试,让我知道它是如何去的。 彼得H