的数据所以从图片中,我已经设法做到这一点,为一个单一的名字'汉克'作为第1号,我需要这个列表来迭代,并包括所有的名字作为'1.'与其他名称作为相应的'2.',有没有一个函数,我可以写,将这样做的任何数量的初始名称?我可以分别创建每个名称列表,但我想知道是否有一个函数可以一次性生成所有组合
e4yzc0pl1#
你也可以尝试使用下面的公式,它不需要LAMBDA()辅助函数。在IFS()中使用LET()、TOROW()和TOCOL()和单个参数。
的数据·单元格C1中使用的公式
=LET( a, A1:A9, b, TOROW(a), TOCOL( IFS( a <> b, "1. " & a & " 2. " & b ), 3 ) )
字符串
的
5anewei62#
的数据
=LET(data,A1:A3,f,"1. ",s," 2. ", DROP(REDUCE("",data,LAMBDA(rr,r, VSTACK(rr,f&r&s&FILTER(data,data<>r)))),1))
6yoyoihd3#
我找到了一个非lambda的解决方案:第一个月或者更短,如Mayukh所建议的:=TOCOL(IF(TOROW(A1:A9)<>A1:A9,"1. "&A1:A9&" 2. "&TOROW(A1:A9),NA()),3)个将range与它的转置等价值TOROW(range)&range或TRANSPOSE(range)&range组合将生成一个包含所有组合的2D数组,包括它自己的值的组合。为了解决这个问题,我们使用IF(或IFS)并检查范围内的值是否不等于转置的值。如果它不相等,我们返回范围的值和转置范围的值,否则我们声明一个错误值NA,当使用IFS时,如果条件不满足,它会抛出一个错误值。如果我们将其 Package 在TOCOL()中,则2D数组被展平为1D数组,并且TOCOL的第二个参数为2或3过滤掉错误值(重复)。
=TOCOL(IF(TOROW(A1:A9)<>A1:A9,"1. "&A1:A9&" 2. "&TOROW(A1:A9),NA()),3)
TOROW(range)&range
TRANSPOSE(range)&range
IF
IFS
NA
TOCOL()
2
3
3条答案
按热度按时间e4yzc0pl1#
你也可以尝试使用下面的公式,它不需要LAMBDA()辅助函数。
在IFS()中使用LET()、TOROW()和TOCOL()和单个参数。
的数据
·单元格C1中使用的公式
字符串
的
5anewei62#
合并列表中合并名称
的数据
字符串
6yoyoihd3#
我找到了一个非lambda的解决方案:
第一个月
或者更短,如Mayukh所建议的:
=TOCOL(IF(TOROW(A1:A9)<>A1:A9,"1. "&A1:A9&" 2. "&TOROW(A1:A9),NA()),3)
个将range与它的转置等价值
TOROW(range)&range
或TRANSPOSE(range)&range
组合将生成一个包含所有组合的2D数组,包括它自己的值的组合。为了解决这个问题,我们使用
IF
(或IFS
)并检查范围内的值是否不等于转置的值。如果它不相等,我们返回范围的值和转置范围的值,否则我们声明一个错误值
NA
,当使用IFS时,如果条件不满足,它会抛出一个错误值。如果我们将其 Package 在
TOCOL()
中,则2D数组被展平为1D数组,并且TOCOL的第二个参数为2
或3
过滤掉错误值(重复)。