使用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中已存在的虚拟数据运行它,然后检查结果是否按预期工作。
几个警告。
- 当macros遇到列A中的空白单元格时,macros将停止。这是我如何确定macros应该结束。
- 评论应该包含不超过5个逗号,否则他们会被解释为真实的数据。
- 空格字符被添加到注释中。
- 第一行不应该包含注释。
将会创build一个名为Filtered_Result的新工作表,并显示所需的结果。
如果要查看代码,请单击开发人员选项卡。 如果不存在请点击这里如何添加标签然后点击macrosbutton。 单击macroscombine_comments上的编辑button以查看代码。
试一试,让我知道它是如何去的。 彼得H