Excel如何查找出指定内容,并快速替换指定数据旁边单元格中的内容

已举报 回答
Excel如何查找出指定内容,并快速替换指定数据旁边单元格中的内容
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    9,020

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
要在Excel中快速查找并替换特定内容,可以使用“替换”功能。打开“替换”对话框后,在“查找内容”框中输入要查找的文本,在“替换为”框中输入要替换成的文本,然后点击“全部替换”。这样就能将所有匹配到的文本全部替换为新的文本。如果要进行精确匹配,可以勾选“区分大小写”的选项。此外,在“查找范围”中可以选择整个工作表或者特定区域进行查找,并且还可以指定是否忽略大小写等参数。
另外,如果想要快速查找和替换多个文本,在Excel中也可以使用条件格式来实现。打开条件格式对话框后,在其中设置一个满足一定条件时触发格式变化的规则,并选择要应用该规则的单元格范围。这样就能实现根据某些特定条件来自动格式化数据了。
总之,在Excel中进行文本替换非常方便易用,无论是精确匹配还是批量替换都能满足不同需求。希望以上内容对您有所帮助!
取消 评论
你的意思是A列和C列不在同一张工作表中吗?
假设A列在Sheet1中,C列在Sheet2中,
Sub 精准替换()
'采用单元格匹配的模式替换,不会替换掉包含关系的数据
Sheet2.Range(C:C).Replace What:=Sheet1.Range(A1), Replacement:=Y, LookAt:=xlWhole
End Sub
取消 评论
我以前遇到和你这同样的问题:需要对文本进行批量替换。自己编写了一个自定义函数,轻松解决了这个问题,现在正好送给你!这个自定义函数的好处是:①、替换对照表中的项目不限数量!②、在工作表中的公式写法很简单

Function BREPLACE(ByVal text As String, ByVal datarange As Variant, Optional ByVal Delimiter As String = ) As String
Dim arr As Variant, data As Variant
If IsArray(datarange) Then
data = datarange
Else
data = datarange.Value
End If
Set dic = CreateObject(scripting.dictionary)
For i = LBound(data, 1) To UBound(data, 1)
If Not dic.exists(data(i, 1) & ) Then
dic.Add data(i, 1) & , data(i, 2)
End If
Next
arr = Split(text, Delimiter)
If IsArray(arr) Then
For i = 0 To UBound(arr)
arr(i) = dic.Item(arr(i))
Next
BREPLACE = Join(arr, Delimiter)
Else
BREPLACE = dic.Item(text)
End If
End Function

使用这个自定义函数的方法:
第1步、把函数代码加入到EXCEL模块中,步骤如下:
打开EXCEL工作薄,按Alt+F11组合键开启VBA编辑器,在编辑器的“插入”菜单中点“模块”,然后把以上自定义函数代码复制粘贴到VBA编辑器的代码窗口,关闭编辑器。
第2步、在工作表中编写公式
假如:你的数据库在sheet2的A1:B8区域,其中第1行为标题;需要处理的数据在sheet1中A列,
那么,在Sheet1中的B1单元格中写公式并下拉:
=BREPLACE(A1,Sheet2!A2:B8,;)
取消 评论
=IFERROR(VLOOKUP(--LEFT(Sheet2!A2,FIND(;,Sheet2!A2)-1),Sheet1!$A$1:$B$10,2,0)&;&IF(ISNUMBER(FIND(;,Sheet2!A2,FIND(;,Sheet2!A2)+1)),VLOOKUP(--MID(Sheet2!A2,FIND(;,Sheet2!A2)+1,FIND(;,Sheet2!A2,FIND(;,Sheet2!A2)+1)-FIND(;,Sheet2!A2)-1),Sheet1!$A$1:$B$10,2,0)&;&VLOOKUP(--RIGHT(Sheet2!A2,LEN(Sheet2!A2)-FIND(;,Sheet2!A2,FIND(;,Sheet2!A2)+1)),Sheet1!$A$1:$B$10,2,0),VLOOKUP(--REPLACE(Sheet2!A2,1,FIND(;,Sheet2!A2),),Sheet1!$A$1:$B$10,2,0)),)

满足一下你用VLOOKUP, SEARCH, LEFT的需求
原来的表名字改为sheet1,不管你喜不喜欢,先这样改,要输入公式的表叫sheet2
复制上面的公式,粘到sheet2表的B2单元格中,下拉
公式得到正确的结果后,你愿意把表改成什么名就改成什么名,这样公式就自动更正为新名了
我已经得到结果了,如果你得不到结果,请注意;的中英文模式的差别
取消 评论
使用数据分列,把你的公程直径分成三个表格,然后再使用上面的公式,这样就容易找了
如果方便,把你的联系方式发上来,我把附件传给你
=IF(B2=,,VLOOKUP($B2,Sheet1!$A$1:$B$8,2,0))&;&IF(C2=,,VLOOKUP($C2,Sheet1!$A$1:$B$8,2,0))&;&IF(D2=,,VLOOKUP($D2,Sheet1!$A$1:$B$8,2,0))
往下拉不可以全出来了
取消 评论
f1=index(b:b,match($e1,$a:$a,0))右拉,下拉
取消 评论
不用那么麻烦,我直接给你一个公式,不需要设置任何格式控制,直接解决。
从你的列表看,只有7个数据,如果将来不再增加,则我给你的公式就可以了,采用SUBSTITUTE函数嵌套,直接替换对应的字符串,excel 2003支持最多7层嵌套,你这个列表正好7个,如果是excel 2007支持64层嵌套。

将下面公式复制到第二张表的B2单元格,下拉即可。
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,200,219X6),150,169X5),100,108X4.5),80,89X4),65,70.3X3),50,55.3X3),25,30.3X2.5)

以上方法不是从你第一个表中查询的,而是直接将第一个表的内容固定放在了公式中,所以可以脱离第一张表直接在第二个表中运行。
取消 评论
快捷键CTRL+F 里面有查找,替换,定位,3个功能,你需要第二个,把你需要查找的内容复制粘贴上然后点击全部替换,或者你选择性替换。
取消 评论
ZOL问答 > Excel如何查找出指定内容,并快速替换指定数据旁边单元格中的内容

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?