我有一个column A
看起来像:
11
11 11
5 6
5 5
5 6 6 5
11 11 11 11
6 7 8
3
3 2 3
并寻求一种替代的、更智能的方式来输出TRUE
/FALSE
如下所示:
期望结果 | |
---|---|
11 | 真的 |
错误的 | |
11 11 | 真的 |
5 6 | 错误的 |
5 5 | 真的 |
5 6 6 5 | 真的 |
11 11 11 11 | 真的 |
错误的 | |
6 7 8 | 错误的 |
3 | 真的 |
3 2 3 | 真的 |
逻辑是:
FALSE
如果- 单元格为空
- 每个单元格没有重复的数字
TRUE
如果- 单元格只有一个数字
- 单元格中有两个或多个重复的数字,无论顺序如何
更多注释:
- 数字以空格分隔
- 数字范围从 1 到 80
- 每个单元格最多可容纳 40 个以空格分隔的数字
- 每个单元格至少可以容纳 1 个数字或为空
我该如何解决:
我可以对它求和(以各种方式 - LAMBDA
,,,...)并用计数除以它。如果结果是整数则是,如果结果有小数则是,QUERY(SUBSTITUTE(
但这对不起作用,。SUM(SPLIT(
TRUE
FALSE
3 2 3
6 7 8
另一种方法是将其拆分,然后使用QUERY
和 计算每行的数字,按 row_numbers 分组,按 all_numbers 进行透视,LET
然后将其包装到 中IF
,并删除小于 的数字2
。接下来,将其与TRIM(TOCOL(QUERY(TRANSPOSE(
和LEN
合并。然后, IF
将其拆分>0
为 和TRUE
,并添加 未涵盖的其余逻辑QUERY
。
无论哪种方式,公式都会非常庞大,所以我正在寻找一些“更智能/更短”的方法(如果有的话)。也许有一些我不熟悉的神奇正则表达式模式?