![](/img/trans.png)
[英]How to copy and Paste a formula driven cell to another cell as values in Excel
[英]Excel Formula - How to get the highest 2 values of a cell based on another cell
我需要以下要求的帮助:
原始数据
A B C
-------------------------------------
1 | Opp | Vendor | Amount |
|-------------|-------------|---------|
2 | 101 | Vendor1 | 100000 |
3 | 101 | Vendor2 | 5000 |
4 | 103 | Vendor1 | 30000 |
5 | 103 | Vendor2 | 5000 |
6 | 103 | Vendor3 | 50000 |
输出表
A B C D E
---------------------------------------------------------
1 | Opp | MainVendor | Amount1 | 2Vendor | Amount2 |
|-------------|-------------|---------|---------|---------|
2 | 101 | Vendor1 | 100000 | Vendor2 | 5000 |
3 | 103 | Vendor3 | 50000 | Vendor1 | 30000 |
我只能使用以下数组公式获取Amount1值:
{=MAX(IF(A:A=[@[Opp]];C:C))}
在C列中。
我无法获取B , D和E列的值。
这是一个解决方案-如果人们可以重构公式,可能会有些困惑,很高兴听到建设性的批评。
要获取Amount1
, Amount2
值,可以使用:
=INDEX(LARGE($C$2:$C$10*--($A$2:$A$10=$A13),1),1)
哪里:
$C$2:$C$10
是“ Amount
列中的值 --($A$2:$A$10=$A13)
-表示{1;1;0;0;0;0;0;0;0} * {100000;5000;30000;5000;50000;45000;50000;40000;51000}
-可以消除“ Amount
列中与行的Opp
不对应的值。 LARGE
函数仅选择100000
和5000
中的第一100000
,因为数组中的其他值现在为0
。 2
, 3
等进入LARGE
功能 LARGE
函数包装在INDEX
以获取实际值,因为我相信它会将其返回为1元素数组(尽管在公式检查器中尚不清楚) 样品:
要获取MainVendor
和Vendor2
值,可以使用:
=INDEX($B$2:$B$10,INDEX(MATCH(LARGE($C$2:$C$10*--($A$2:$A$10=$A13),1),$C$2:$C$10*--($A$2:$A$10=$A13),0),1))
这是:
$B$2:$B$10
是“ Vendor
列中的值 AmountX
相同的公式上对自己的源数组使用MATCH
来检索索引 MATCH
包裹在另一个INDEX
以获取实际值,因为我再次认为该值将作为1元素数组返回 样品:
我创建了另一组Opp
值,该公式适用于Amount
列中的某些重复值,但适用于不同的Opp
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.