如何 select 范围的一部分,这是公式的输出
How to select a part of a range, which is output of a formula
我好像真的不擅长写可读的标题:-)
情况如下:
我有一个名称和值的列表,我想计算对应于每个名称的值的总和:
Name Value
a 1
b 2
a 3
c 4
a 5
b 6
c 7
这看起来很简单:
for 'a' : =SUMIF($A:$A,A2,$B:$B)
for 'b' : =SUMIF($A:$A,A3,$B:$B)
for 'c' : =SUMIF($A:$A,A4,$B:$B)
糟糕,错了,因为A4不包含'c',它又包含了'a'。
不费吹灰之力:我们可以使用 UNIQUE()
公式,它将值 'a'、'b' 和 'c' 放入 F 列 (=UNIQUE(A2:A8)
) .
一旦我们有了这个,我们就可以很容易地使用这个公式:
for 'a' : =SUMIF($A:$A,F2,$B:$B)
for 'b' : =SUMIF($A:$A,F3,$B:$B)
for 'c' : =SUMIF($A:$A,F4,$B:$B)
这是正确的,但这意味着我必须使用 F 列作为参考。
我不想要那个,我想要这样的东西:
for 'a' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(1),$B:$B)
for 'b' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(2),$B:$B)
for 'c' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(3),$B:$B)
这显然没有意义,因为 getElement()
不存在。
如何访问 UNIQUE()
结果的一部分?
这是我的 Excel sheet 的样子:
我不确定你是否想要两列,但使用 ms365:
D2
中的公式:
=CHOOSE({1,2},UNIQUE(A2:A8),SUMIF(A2:A8,UNIQUE(A2:A8),B2:B8))
为了回答关于“.GetElement”的部分,我想说 INDEX()
是一个非常好的翻译,它允许您将 slice 成一个数组并选择你喜欢的任何一个。我不认为这是你的目标,但如果说你只对整个数组的第二行感兴趣,你可以使用:=INDEX(PreviousFormula, 2, 0)
。 '0' 将确保我们 return 构成该行的所有列,如果数组最初仅由单个列组成,则可以将其省略。
我好像真的不擅长写可读的标题:-)
情况如下:
我有一个名称和值的列表,我想计算对应于每个名称的值的总和:
Name Value
a 1
b 2
a 3
c 4
a 5
b 6
c 7
这看起来很简单:
for 'a' : =SUMIF($A:$A,A2,$B:$B)
for 'b' : =SUMIF($A:$A,A3,$B:$B)
for 'c' : =SUMIF($A:$A,A4,$B:$B)
糟糕,错了,因为A4不包含'c',它又包含了'a'。
不费吹灰之力:我们可以使用 UNIQUE()
公式,它将值 'a'、'b' 和 'c' 放入 F 列 (=UNIQUE(A2:A8)
) .
一旦我们有了这个,我们就可以很容易地使用这个公式:
for 'a' : =SUMIF($A:$A,F2,$B:$B)
for 'b' : =SUMIF($A:$A,F3,$B:$B)
for 'c' : =SUMIF($A:$A,F4,$B:$B)
这是正确的,但这意味着我必须使用 F 列作为参考。
我不想要那个,我想要这样的东西:
for 'a' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(1),$B:$B)
for 'b' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(2),$B:$B)
for 'c' : =SUMIF($A:$A,UNIQUE(A2:A8).getElement(3),$B:$B)
这显然没有意义,因为 getElement()
不存在。
如何访问 UNIQUE()
结果的一部分?
这是我的 Excel sheet 的样子:
我不确定你是否想要两列,但使用 ms365:
D2
中的公式:
=CHOOSE({1,2},UNIQUE(A2:A8),SUMIF(A2:A8,UNIQUE(A2:A8),B2:B8))
为了回答关于“.GetElement”的部分,我想说 INDEX()
是一个非常好的翻译,它允许您将 slice 成一个数组并选择你喜欢的任何一个。我不认为这是你的目标,但如果说你只对整个数组的第二行感兴趣,你可以使用:=INDEX(PreviousFormula, 2, 0)
。 '0' 将确保我们 return 构成该行的所有列,如果数组最初仅由单个列组成,则可以将其省略。