如何将公式仅应用于某些函数

问题描述 投票:0回答:2

我有一份团队名单,每个团队都有号码。 我有一个职能决定每个团队的共同价值观。 我需要找到一种方法让这个函数自动检测团队人数何时发生变化。显然,我的更长并且有几十行enter image description here

我尝试使用类似

=IF ( A2<>A3; ... )
的 If 公式,但我不认为这是正确的方法,而且我不知道如何使用 VBA 和宏

excel excel-formula
2个回答
1
投票

我刚刚将您的

LET(rng,B2:B5,
替换为
LET(rng,FILTER(Table1[Column2],Table1[Teams]=A2),
,并将其包装在
IF
公式中,以便仅在团队与前一行不同时才会填充。

请注意,我使用

,
而不是
;
来分隔参数。

=IF(A2<>A1,LET(rng,FILTER(Table1[Column2],Table1[Teams]=A2), col,TOCOL(TEXTSPLIT(TEXTJOIN(",",TRUE,rng),",",,TRUE,TRUE)), TEXTJOIN(",",,TOCOL(IF(BYROW(UNIQUE(col),LAMBDA(x,SUM(--(x=col))))=ROWS(rng),UNIQUE(col),1/0),3))),"")

enter image description here


0
投票

我会采用以下方法:

  • 将每个单元格条目拆分为一个数组(为此,您可以使用
    TextSplit()
    工作表函数)。
  • 将所有这些合并在一起,就像集合的并集一样。
  • 在该合并联合上,启动
    Unique()
    工作表功能以查找唯一标识符)。
  • 对于每个唯一标识符,请在每个
    CountIf()
    数组上使用
    TextSplit
  • 取每个
    CountIf()
    函数的总和。如果这对应于所有行数,则您已找到每个单元格中都存在的条目。

就联合而言,我只能“联合”字符串,因此我进行了以下实验:将“1,2,3,4,5”放入单元格“B1”和“2, 3,4,5,6”在单元格“B2”中,并使用以下公式:

=UNIQUE(TEXTSPLIT(TEXTJOIN(",";TRUE;B1;B2);","))

如您所见,想法是:

  • 将“B1”和“B2”连接成“1,2,3,4,5,2,3,4,5,6”
  • 将其拆分为 [1, 2, 3, 4, 5, 2, 3, 4, 5, 6]”
  • 并获取独特的条目

这本来是 [1, 2, 3, 4, 5, 6],但在我的电脑上,它产生 [1, 2, 3, 4, 5, 2, 3, 4, 5, 6]。

虽然我的结果是错误的,但我很确定我的方法是正确的。

也许具有更好 Excel 知识的人可以纠正这个问题?

© www.soinside.com 2019 - 2024. All rights reserved.