如何以这种特定的方式在Excel中合并单元格

明显不知道如何使用excel的人用这种格式做了一个很长的表格:

r1 lastname Description r2 smith He had a big r3 bradley head and red r4 hair with eye r5 glasses 

其中r代表一行,描述中描述了所有两位医生。 有没有办法将姓氏/描述合并成一个像这样的大单元

 r1 lastname Description r1 smith He had a big r1 bradley head and red r1 hair with eye r1 glasses 

如果只有一张桌子,而且你不需要继续这样做,那么我build议你只select整个东西,然后把文本粘贴到文字/文本编辑器中。 如果表格中有很多数据,并且需要将所有行逐行alignment,那么您需要提供更多关于现在和现在需要的信息。

编辑详细说明

假设(a)单个条目总是有一个接一个的“名称”部分,没有空单元格,(b)名称之间至less有一个空单元格,下面是一个非VBA解决scheme:

首先创build一个辅助列,从C3开始,然后复制(在C2中inputTRUE):

 =and(isblank(C2),not(isblank(c3))) 

此公式将检查当前行是否为空白以及前一行是否为空白。 如果是这样的话,我们可以假定这一行开始一个新的名字。

然后在D1上创build一个新的“名称”列。 从D2开始并复制的公式应为:= if(C2,A2,D1&if(isblank(CHAR(10)&A2)

当你拖动它时,它将拾取上面的单元格(已经确定的部分名称),然后将该字符应用于换行[如果列A中的那一行本身不是空白],然后添加在A列中的该行上find的新名称 – 或者,如果这是一个新名称,它将再次用列A中的该行开始该过程。

列E中可以使用相同的过程来显示说明。 从E2开始,并抄下来:

 =if(C2,B2,E1&if(isblank(B2),"",CHAR(10))&B2) 

然后创build一个filter,只显示包含所有信息的项目。 在F列,从第2行开始,并复制下来:

 =if(C3,"Final Row","") 

对该列应用筛选器,检查下一行是否是新人。 如果下一行是新人,则当前行包含当前人员的所有文本。