excel中不同单元格中文本去掉重复的字留下不重复的字?

excel中不同单元格中文本去掉重复的字留下不重复的字?如何操作能达到图中的效果

用公式的话,是比较复杂的,且Excel版本必须是2109或365版本,如图,公式:

=TEXTJOIN(,,IF(MATCH(MID(PHONETIC(B1:B8),ROW(INDIRECT("1:"&LEN(PHONETIC(B1:B8)))),1),MID(PHONETIC(B1:B8),ROW(INDIRECT("1:"&LEN(PHONETIC(B1:B8)))),1),)=ROW(INDIRECT("1:"&LEN(PHONETIC(B1:B8)))),MID(PHONETIC(B1:B8),ROW(INDIRECT("1:"&LEN(PHONETIC(B1:B8)))),1),""))

同时按Ctrl+Shift+Enter三键输入数组公式

追答

用Power Query则可轻易实现。如图,把数据导入到Power Query中

    先分列,把所有单元格分成只一个字符,且分列时直接分在行中

    对行中的字符删除重复项

    对字符排序

    将行转置成列

    合并列

    上载合并后的数据到Excel工作表中

所有操作过程的M语言为:

let

    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

    更改的类型 = Table.TransformColumnTypes(源,{{"列1", type text}}),

    用位置分列 = Table.ExpandListColumn(Table.TransformColumns(更改的类型, {{"列1", Splitter.SplitTextByRepeatedLengths(1), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "列1"),

    更改的类型1 = Table.TransformColumnTypes(用位置分列,{{"列1", type text}}),

    删除的副本 = Table.Distinct(更改的类型1),

    排序的行 = Table.Sort(删除的副本,{{"列1", Order.Ascending}}),

    转置表 = Table.Transpose(排序的行),

    合并的列 = Table.CombineColumns(转置表,{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"结果")

in

    合并的列

其中“更改的类型”是Power Query自动添加的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-10
Function qu(rng As Range)
Dim Dic As Object, Arr, i&
Set Dic = CreateObject("scripting.dictionary")
Arr = Split(rng.Value, "、")
For i = 0 To UBound(Arr)
If Dic.exists(Arr(i)) = False Then Dic(Arr(i)) = ""
Next
qu = Join(Dic.keys, "、")
Set Dic = Nothing
End Function
相似回答