如何在Excel中找到自定义的唯一值?

bfhwhh0e  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(109)

我在Excel中有以下值:{"Apple", "Orange", "Orange", "Banana", "Apple}。如果我在这个数组上运行 Unique 公式,那么它将返回{"Apple", "Orange", "Banana"}
问题是,有时我的Excel值中有拼写错误,所以我可能有以下值:{"Apple", "Applee", "Orange", "Orange", "Orang", "Banana", "Apple}。这样,Unique 公式将返回以下数组:{"Applee", "Orange", "Orang", "Banana", "Apple},然而,我希望它返回{"Apple", "Orange", "Banana"}。没有拼写错误的计数值总是高于有拼写错误的计数值。
我想做的是,如果给定单元格的唯一字符少于3个,那么列表中已经有值,那么不要将其视为唯一值。
有可能只使用内置公式吗?我会尽一切努力避免使用内置公式。

dwthyt8l

dwthyt8l1#

要达到这个目的,最好的方法是维护一个经常拼写错误的单词及其对应的正确单词的列表。如果列表相对较短,可以使用SWITCH()函数;如果不是,使用XLOOKUP()和一个单独的查找表会更容易。

示例1:SWITCH()函数

=SWITCH(D2:D15, "Applee","Apple", "Appel","Apple", "Banaan","Banana", "Orang","Orange", "Oranges","Orange", D2:D15)

字符串
SWITCH()查看范围D2:D15中的每个值,并将找到的任何匹配值替换为其相应的结果。匹配值和结果成对输入,最多可包含126对。最后一个可选参数是未找到匹配时返回的默认值,在本例中为范围D2:D15中的原始值。

结果1:

x1c 0d1x的数据

**注意:**上图中生成唯一列表的公式为=SORT(UNIQUE(F2#)),返回每个唯一项计数的公式为=COUNTIF(F2#, H2#)。请注意,如果有新拼写错误的单词,请在唯一列表中进行监控,并在出现错误时更新SWITCH()公式。
示例2:XLOOKUP()带有单独的查找表

=IFNA(XLOOKUP(D2:D15, K2:K6, L2:L6), D2:D15)


在本例中,拼写错误的单词列在范围K2:K6中,相应的正确单词列在范围L2:L6中。如果XLOOKUP()未找到匹配项,则IFNA()函数用于返回范围D2:D15中的原始值,因为可选的 [if_not_found] 参数不接受值范围。

结果二:


示例3:XLOOKUP()带结构化表引用

=IFNA(XLOOKUP([@Item], Table2[Incorrect], Table2[Correct]), [@Item])


方法与例2相同,但使用Excel表格,使用上述公式在Table 1中创建计算列,错误/正确单词列表存储在Table 2中。

结果3:


**注意:**上图中生成唯一列表的公式为=SORT(UNIQUE(Table1[Corrected])),返回每个唯一项的计数的公式为=COUNTIF(Table1[Corrected], G2#)

yruzcnhs

yruzcnhs2#

如果您在列中设置了正确的值,然后在同一行右侧的单元格中定义了可能的拼写错误,则可以使用以下公式x1c 0d1x

=UNIQUE(MAP({"Apple","Applee","Orange","Orange","Orng","Banna","Apple"},LAMBDA(a,INDEX(F1:F3,INT((MATCH(1,TOROW(--(a=F1:I3)),0)-1)/4)+1,1))),TRUE)

字符串
(the /4是因为在'lookup'范围内有4列-F1:I3

相关问题