在WPS使用EXCEL表格,如何把批量把不同姓名中的名变成*?

如题所述

在WPS使用EXCEL表格,如何把批量把不同姓名中的名变成*。题目的意思是把姓名中的名用*代替,只显示姓。可以用MID函数、COUNTIF和SUBSTITUTE函数来批量处理。

    MID是字符提取函数。

    SUBSTITUTE是字符替换函数。

    注意,中国的姓名中,存在单姓和复姓问题。这就要先把这两类姓分类处理。

    下面具体解决方法:

    假定姓名在A列。替换姓名中的名后,存入在B列。则公式如下:

=SUBSTITUTE(A1,IF(COUNTIF(A1,"欧阳*")+COUNTIF(A1,"夏侯*"),MID(A1,3,99),MID(A1,2,99)),"**")

    公式先用COUNTIF()+COUNTIF()进行或判断,如果存在复姓,返回MID(A1,3,99),否则就返回MID(A1,2,99)。

    返回的结果用SUBSTITUTE进行替换。得出结果。

    注意,公式也有不不尽人意的地方,1、公式中只用到两个复姓,实际上中国复姓有很多,可增加条件处理。2、名有一个或多个,本例统一用两个*替换。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-12-16
要在WPS中使用Excel表格将不同姓名中的名字批量更改为星号(*),可以按照以下步骤进行操作:
打开WPS并创建或打开一个Excel表格文件。
定位到包含姓名的列。假设姓名位于"A"列,从第二行开始。
在"B"列的第二行中输入以下公式:
复制=左(A2, 查找(" ", A2)-1) & REPT("*", 长度(A2) - 查找(" ", A2))
```
这个公式将取出名字的首字母并与相应数量的星号组合,以替代名字中的其他字符。
将公式应用到整个"B"列中的单元格。可以通过将鼠标悬停在单元格的右下角并拖动来自动填充公式。
选择"B"列中的所有单元格,右键单击并选择"复制"。
将光标移动到"A"列的第二行,右键单击并选择"粘贴值",以将星号替换为原始姓名。
现在,你将在"A"列中看到姓名的首字母,并在"B"列中看到相应数量的星号。
请注意,这种方法假设名字中只有一个空格,且名字以空格分隔为姓和名。如果名字的格式有所不同,你可能需要调整公式以适应不同的情况。
希望这可以帮助到你!如有其他问题,请随时提问。