在查找和替换中允许使用前缀和后缀(Microsoft Excel)
史蒂文(Steven)的工作表包含很多零件号,例如DCC2418R。他想将所有前缀(总是“ DCC”)更改为“ RR”,并将所有后缀(总是“ R”)更改为“ F”。因此,在查找和替换后,DCC2418R将变为RR2418F。史蒂文(Steven)知道他可以执行多次查找和替换操作来进行转换。他怀疑有一种方法可以通过一次“查找与替换”操作来实现,但是他不确定如何去做。
史蒂文(Steven),您的猜想是错误的,无法一incorrect而就。与Word(一次可以完成)不同,Word不包含执行通配符搜索的功能。这并不意味着您不走运。实际上,有几种方法可以完成您需要执行的任务。
也许最简单的方法是使用Flash Fill工具。假设您的零件号在A列中,从A1开始。在单元格B1中,输入格式正确的零件号。在单元格B2中,开始键入下一个正确格式化的零件号。 Flash Fill应该会发挥作用。 (请参见图1。)
图1. Flash Fill开始工作。
请注意Excel提供的浅色条目。这是“闪光填充”功能的结果。此时,您需要做的就是按Enter键,您将获得格式正确的零件号。如果由于某种原因Flash Fill无法自动提供转换,请在单元格B2中输入更正的零件号后,通过B列中的最后一个单元格选择B1的范围。(例如,选择范围B1 :B227。),然后按Ctrl + E,然后Flash Fill将完成您选择范围内的所有空白单元格。
当然,并非所有版本的Excel都提供Flash Fill。它最初是在Excel 2013中引入的。如果您没有Flash Fill,可以使用公式进行转换。单元格B1中的以下内容将给出单元格A1中任何内容的正确转换的部件号:
=SUBSTITUTE(SUBSTITUTE(A1,"R","F",1),"DCC","RR",1)
以下公式在单元格B1中也适用:
="RR" & MID(A1,4,LEN(A1)-4) & "F"
如果您喜欢使用宏方法,则可以创建一种方法来检查单元格,并在满足前缀和后缀条件的情况下进行更改。
下面的示例ReplacePartNum在名为“ MyRange”的命名范围上进行工作。 (换句话说,您需要在运行宏之前定义一个名为“ MyRange”的命名范围。该命名范围应包含所有您要检查和转换的单元格。)
Sub ReplacePartNum() Dim myRange As Range Dim c As Range Dim origText As String Dim firstBit As String Dim endBit As String Dim middleBit As String Set myRange = Range("MyRange") For Each c In myRange origText = c.Text firstBit = Left (origText, 3) endBit = Right (origText, 1) If firstBit = "DCC" And endBit = "R" Then middleBit = Mid (origText, 4, Len(origText) - 4) c.Value = "RR" & middleBit & "F" End If Next End Sub
您应该知道,如果需要,可以在宏中使用通配符。关于如何在宏中使用通配符的更详尽的解释,`link:/ excelribbon-Wildcards_in_Replace_With_Text [可以在本技巧中找到]。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(13479)适用于Microsoft Excel 2007、2010、2013和2016。