首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何返回excel上行中列出的唯一值

如何返回excel上行中列出的唯一值
EN

Stack Overflow用户
提问于 2022-10-18 01:56:45
回答 2查看 53关注 0票数 1

我需要列出所有独特的出版物,这些出版物是横向列出的:

  • 出版物

我只想在一行中水平返回唯一值,如下所示:

  • 出版物

如果可以按字母顺序排列出版物,那就更好了。

我发现的所有公式都是垂直列出的值,因此社区的任何帮助都将受到极大的感谢。

EN

回答 2

Stack Overflow用户

发布于 2022-10-18 02:44:09

简单的UNIQUE()函数应该适合你,比如-

代码语言:javascript
复制
=UNIQUE(B1:I1,TRUE)

  • 第二个[by_col]参数TRUE指示按列返回唯一参数。如果您想添加单词Publication,那么可以尝试使用HSTACK()

=HSTACK( UNIQUE(B1:I1,1)),A1)

票数 2
EN

Stack Overflow用户

发布于 2022-10-18 02:48:52

从您的示例中可以看出,输入是由" | "分隔的字符串还是列分隔符。在您的问题中,没有Excel约束,所以我假设您可以使用TEXTSPLIT,以防输入是由" | "分隔的字符串。如果情况并非如此,请检查这个问题:Split a string (cell) in Excel without VBA (e.g. for array formula),以寻找其他替代方案。

可以使用UNIQUE(array,[by_col])by_col输入参数按列选择唯一元素。

类似地,您可以使用SORT(array,[sort_index],[sort_order],[by_col]),并以类似的方式使用by_col输入参数强制逐列排序。

如果我们在单元格A1上有输入参数,然后在C2中放置以下公式

代码语言:javascript
复制
=SORT(UNIQUE(TEXTSPLIT(A1," | "), TRUE),,,TRUE)

以下是返回1x5数组的列格式输出:

如果希望将结果作为管道分隔的字符串,那么在前面的结果上调用TEXTJOIN(delimiter, ignore_empty, text1, [text2], …),如下所示:

代码语言:javascript
复制
=TEXTJOIN(" | ",,SORT(UNIQUE(TEXTSPLIT(A1," | "), TRUE),,,TRUE))

输出将是单个字符串,如下所示:

代码语言:javascript
复制
PUB-928798 | PUB-936976 | PUB-940212 | PUB-942575 | PUB-947197

如您所见,结果按升序排序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74104874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档