Excel:如何将特定单元格数据(邮政编码)复制到新列中
我有两列单元格,它们的地址格式不规则 我需要: 1) 只需将要复制到新列中的邮政编码 2) 不包含邮政编码的行将突出显示或为空,以便我可以轻松确定缺少哪些邮政编码 这似乎很简单,但我不知道如何让Excel只查找5个连续数字的所有实例。目前,它们被格式化为文本,以便显示零。非常感谢您的帮助Excel:如何将特定单元格数据(邮政编码)复制到新列中,excel,Excel,我有两列单元格,它们的地址格式不规则 我需要: 1) 只需将要复制到新列中的邮政编码 2) 不包含邮政编码的行将突出显示或为空,以便我可以轻松确定缺少哪些邮政编码 这似乎很简单,但我不知道如何让Excel只查找5个连续数字的所有实例。目前,它们被格式化为文本,以便显示零。非常感谢您的帮助 普通Excel中没有正则表达式。要做到这一点,您必须进入VBA。然而,对于您的情况,有一个简单的模式:注意邮政编码在最后一个空格之后,并且总是5位数长?接下来的挑战是找到最后一个空格的索引并提取后面的5个
普通Excel中没有正则表达式。要做到这一点,您必须进入VBA。然而,对于您的情况,有一个简单的模式:注意邮政编码在最后一个空格之后,并且总是5位数长?接下来的挑战是找到最后一个空格的索引并提取后面的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),"")
佐夫·迪诺写作的另一种方法是将其稍作突破,如下所示:
=IF(和(C3=”,D3=”,“”,IF(C3=”,D3,C3))
并将其向下拖动这是
正则表达式的完美任务C3中有一个很好的公式需要知道——首先取一个单元格的总长度。如果将一个字符的所有实例(如“”)替换为零,则取单元格的长度。找出这些数字之间的差异。这会告诉您该字符出现的次数。然后,使用“替换”将该字符的第n个实例替换为通常不使用的任何字符(例如“|”)。现在,您可以使用FIND(或SEARCH)确定“|”在单元格中的位置。在这种情况下,您可以使用D3中的公式,拾取以“I”开头的5个字符。很好的公式和方法,但如果按原样应用,将有一些严重的错误