Excel:如何将特定单元格数据(邮政编码)复制到新列中

我有两列有不规则格式地址的单元格。

我需要:

1)只需将邮政编码复制到一个新的列;

2)不包含邮政编码的行要么突出显示要么是空的,这样我就可以很容易地识别哪些邮件丢失了。

这似乎很简单,但我不知道如何让Excel只find5个连续数字的所有实例。 目前它们被格式化为文本,以便显示零。 任何帮助不胜感激。

以下是从什么开始: 在这里输入图像说明

以下是完成后的样子(突出显示可选): 在这里输入图像说明

Zoff Dino写的另一个方法就是把它分解出来,如下所示:

  1. 在C3单元格中,input在公式栏中看到的公式
  2. 把它拖到行集合上面,然后拖到1列(所以它也运行在列B上)
  3. 在列中使用此公式: =IF(AND(C3="",D3=""),"",IF(C3="",D3,C3))并将其向下拖动。

这将解释你所显示的所有可能的情况,并且不会在你身上出错(除非出现其他模式)。

在这里输入图像说明

然后,您可以使用条件格式来突出显示没有邮政编码的行,如图所示:

在这里输入图像说明

正常的Excel中没有正则expression式。 你将不得不进入VBA来做到这一点。 但是,对于您的情况,有一个简单的模式:请注意邮政编码是如何在最后一个空格之后,并且总是5位数字? 接下来的挑战就是find最后一个空间的索引,并提取它后面的5个字符。 如果你把它们分成两个公式,它会更清楚

 // C3 (index of last space character): =FIND("|",SUBSTITUTE(B3," ","|",LEN(B3)-LEN(SUBSTITUTE(B3," ","")))) // D3, the 5 characters after that. // Return an empty string if the address doesn't match the pattern =IFERROR(MID(B3,C3+1,5),"")