使用power pivot中的max函数按逗号拆分'表1'[人员]中的数据再用去重
时间: 2024-02-22 17:59:52 浏览: 115
可以使用以下公式来实现您的需求:
```
=MAX(UNIQUE(FILTERXML("<root><s>"&SUBSTITUTE([@人员],",","</s><s>")&"</s></root>","//s"))))
```
这个公式会先按逗号拆分'表1'[人员]中的数据,然后使用FILTERXML函数将其转换为XML格式。接着,使用UNIQUE函数去掉重复的值,最后使用MAX函数获取去重后的最大值。
请注意,这个公式需要在Power Pivot中的计算列中使用,并将其应用于每一行。
相关问题
使用power pivot中的函数按逗号拆分'表1'[人员]中每行的文本数据再用去重,没有SPLIT函数
如果没有SPLIT函数,也可以使用一些其他的函数来实现这个需求。
下面是一个示例公式:
=DISTINCT(FILTERXML("<a><b>" & SUBSTITUTE('表1'[人员], ",", "</b><b>") & "</b></a>", "//b"))
该公式使用了FILTERXML函数和SUBSTITUTE函数来实现按逗号拆分,并使用DISTINCT函数进行去重操作。
具体来说,SUBSTITUTE函数将逗号替换为闭合的XML标签,然后FILTERXML函数将这个字符串解析为XML,并使用XPath表达式"//b"来取出所有的<b>标签中的文本内容,最后DISTINCT函数对结果进行去重操作。
请注意,这种方法可能会受到XML解析器的限制,因此不适用于所有情况。
使用power pivot中的max函数按逗号拆分'表1'[人员]中每行的数据再用去重
可以使用以下公式来实现您的需求:
```
=MAXX(UNIQUE(FILTERXML("<root><s>"&[@人员]&"</s></root>","//s")),VALUE(SUBSTITUTE(FILTERXML("<root><s>"&[@人员]&"</s></root>","//s"),",","")))
```
这个公式会按照每行的人员数据进行拆分,并使用FILTERXML函数将其转换为XML格式。然后,使用UNIQUE函数去掉重复的值,并使用MAXX函数获取去重后的最大值。最后,使用VALUE函数将字符串转换为数字,并使用SUBSTITUTE函数去掉其中的逗号。
请注意,这个公式需要在Power Pivot中的计算列中使用,并将其应用于每一行。
阅读全文