我有一个电子表格,要求用户在多行的分配列中放置一个值。
管理区域使用了一系列其他列,其中一个列应该只列出用户在相应行中输入的唯一值。
示例数据
所以,以上面的截图为例:
- 用户被分配一列来完成(例如列K),他们需要在其中输入一个值,例如I,R,C等,然后向下数行。
- 管理区域需要通过指示该行的所有唯一值(例如在单元格 I9 中输入 I、R、C)来在另一列中汇总这些值。
我被要求以某种方式自动执行此操作,以便管理区域不必手动识别每一行的唯一值并将它们输入。目前我想出的最好方法是以下方法:
- 在后面的专栏中(比如说 Cell AA9),我使用了 UNIQUE 函数,如下所示
=UNIQUE(K9:O9,1)
:然后,这将使用范围内的每个唯一值填充以下单元格,仅一次。也就是说,AA9 有 I,AB9 有 R,AC9 有 C,以此类推。 - 在单元格 I9 中,我使用如下公式:
=K9&", "&L9&", "&M9&", "&N9&", "&O9
这确实达到了预期的结果(尽管它确实为任何空白单元格显示零 (0) 值,这很烦人),但在我看来,必须有一种更优雅的方式来实现这一点。
问题
有没有办法在单元格 I9 中使用一个公式来完成我正在使用的两个公式的工作(即,它可以完成目前 AA9 和 I9 中的工作),返回 I9 中的所有唯一值,由逗号,无需在 AA、AB 等处使用辅助列。
要处理单个单元格中多个逗号分隔条目的问题,请尝试:
算法
XML
为每个逗号分隔的子字符串创建一个xPath
仅返回唯一节点的FILTERXML
使用逗号分隔符连接函数的结果如果您有 Mac 但没有该
FILTERXML
功能,还有其他解决方案如有必要,您可以对结果进行排序
编辑 MAC Office 365 解决方案
将
TEXTJOIN
功能与您的=UNIQUE(K9:O9;1)
当您使用不同的区域设置进行挖掘 时,将其更改![在此处输入图像描述](https://isstatic.askoverflow.dev/0YFpK.png)
;
为。,