A列代表不同零件的序列号,但这些零件来自不同的供应商,因此价格不同。 B栏保存每个部分的价格。
我需要一个基本上按A列的宏,比较重复的B列价格,并返回C列中该部分的最低价格。
答案 0 :(得分:1)
或者,您可以:
但是,制定公式更有趣!
答案 1 :(得分:0)
你甚至不需要数组公式就可以做到这一点:
= SUMPRODUCT(($ B $ 1:$ B $ 5)*($ B $ 1:$ B $ 5 = MIN($ B $ 1:$ B $ 5 +(A1<> $ A $ 1:$ A $ 5)* MAX ($ B1:$ B5)))) / SUMPRODUCT(1 *($ B $ 1:B 5 $ = MIN($ B $ 1:$ B $ 5 +(A1<> $ A $ 1:$ A $ 5)* MAX($ B1:$ B5))))
这里的重要见解是你可以在SUMPRODUCT中进行数组操作,在SUMPRODUCT中进行内部函数。第一个SUMPRODUCT给出了所有价格的总和等于每个组件的最低价格,第二个给出了具有该价格的列表的数量。彼此分开,每个组件都有最低价格!
第一个SUMPRODUCT:
($B$1:$B$5)
是您价格的列向量。$B$1:$B$5
中的相应条目等于MIN($B$1:$B$5+(A1<>$A$1:$A$5)*MAX($B$1:$B$5))
,则其条目将被强制为1,否则为零。第二个SUMPRODUCT与第一个SUMPRODUCT类似,除了这次我们只是将条件满足的次数加起来而不乘以价格。