仅串联填充的单元格


21

我目前有一个电子表格可以记录纸牌游戏中的得分。可能会有2至5名玩家。我有以下内容:

| Players  |
|----------|
| Dave     |
| Paul     |
| John     |
|          |
|          |

目前,我使用:

= JOIN( " vs " ; C10:C14 )

但是问题是,我最终遇到了Dave vs Paul vs John vs vs

有办法说出来,Dave vs Paul vs John但是如果我有更多的球员,Dave vs Paul vs John vs Rob只有一个公式?

Answers:




5

如果至少有一个包含文本的单元格,则以上两种解决方案均适用。然而:

= JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

%%%%如果C10:C14全部为空且将返回。

= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))

#N/A如果C10:C14全部为空,将返回。

但是,您可以对第一个解决方案稍加修改,%通过使用如下SUBSTITUTE函数包装公式来用空字符串替换符号:

=SUBSTITUTE(
   JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0)),    // text_to_search
   "%",                                            // search_for
   ""                                              // replace_with
 )

(为清晰起见,显示在多行上)


请注意:答案上方确实没有上下文,因为答案可以以不同的方式排序。
ale

4

我找到了另一个解决方案:

=JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

%可以是列表中实际上不存在的任何符号,例如逗号,“&”号或问号。


不错的选择!
Jacob Jan Tuinstra 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.