【问题标题】:How to get the unique value from a cell which repeats multiple times in excel?如何从excel中重复多次的单元格中获取唯一值?
【发布时间】:2017-08-09 06:52:46
【问题描述】:

大家好,我有大约 50000 名候选人的数据,其中一列包含如下主题。

我想要 B 列中的公式从 A 列获取唯一值。 如果"," 中的所有值都相同,那么我需要单个值,否则所有单元格数据。(可能有多个逗号分隔条目)

我尝试了find 公式,但不起作用。

提前致谢。

【问题讨论】:

  • 所以 A 列中的条目总是由 3 个逗号分隔的条目组成?如果没有,建议您编辑您的示例,使其更加真实。
  • @XORLX - 我已经编辑了我的问题,并且还有超过 3 个以逗号分隔的条目。

标签: excel excel-formula find vba


【解决方案1】:

这适用于任意数量的逗号分隔条目:

=IF(REPT(LEFT(A2,FIND(",",A2&",")),1+LEN(A2)-LEN(SUBSTITUTE(A2,",","")))=A2&",",LEFT(A2,FIND(",",A2)-1),A2)

问候

【讨论】:

  • 感谢您将 REPT() 添加到我的函数库中... +1
  • @Glitch_Doctor 不客气!有时是一个有用的小功能。
【解决方案2】:

有点乱,但这会起作用:

=IF(ISNUMBER(SEARCH(MID($A2,1,SEARCH(",",$A2,1)-1),$A2,LEN(MID($A2,1,SEARCH(",",$A2,1)-1)))),IF(ISNUMBER(SEARCH(MID($A2,1,SEARCH(",",$A2,1)-1),$A2,LEN(MID($A2,1,SEARCH(",",$A2,1)-1))*2)),MID($A2,1,SEARCH(",",$A2,1)-1),$A2),$A2)

如果搜索再次发现第一个单词超过了它的长度,它会再次检查超过它的长度的两倍。如果匹配,则仅返回该单词,否则返回整个单元格。

我会继续努力寻找更优雅的解决方案,但现在,这会是可行的。好吧,前提是您总是在索引 3 上进行搜索。如果您不是,我仍然可以这样做,但想使用辅助列(或者在 VBA 上有所突破,这很容易完成任务,我不想看到首先努力,因为根据经验,我不会免费编码)

【讨论】:

    猜你喜欢
    • 2017-10-27
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    相关资源
    最近更新 更多