【问题标题】:Excel formula highest value with conditionExcel公式最高值与条件
【发布时间】:2015-12-11 09:25:55
【问题描述】:

我有一个包含 PriceList (As Text)、Model 和 Price 的表格。该列表按 PriceList 降序排列。示例

PriceList Model Price
0740      A     10
0740      B     20
0740      C     30
0735      A     9
0735      B     19
0735      C     29
0731      A     8
0731      B     18
0731      C     28
0731      D     38

如您所见,D 型已停产,价格表 0732。 我需要一个能给出以下结果的公式

Requested   Relevant    Latest
PriceList   Model       PriceList
                        Available
0735         A          0735           
0735         B          0735
0735         C          0735
0735         D          0731

我需要 Last Pricelist Available 列的公式。公式应执行以下操作:如果相关模型的请求价格表存在,则将其写入字段 IF 不返回包含

我找到了一个使用矩阵公式的解决方案 - 效果很差。有没有不使用矩阵公式的方法?

提前致谢!

【问题讨论】:

    标签: excel formula


    【解决方案1】:

    我们需要做的是,当 PriceList 不匹配时,它会小于请求的值。最简单的方法是将值设为零

    我放入 A15:C19 的第二张桌子

    首先我们需要在 MAX 公式中构建比较:

    =MAX($A$2:$A$11*$B$2:$B$11=B16*$A$2:$A$11<=A16)
    

    接下来我们需要将所有的 TRUE/FALSE 转换为 0/1 进行乘法运算:

    =MAX($A$2:$A$11*--($B$2:$B$11=B16)*--($A$2:$A$11<=A16))
    

    最后,我们需要让函数返回一个数组以从中获取单个值,方法是使用 CTRL+SHIFT+输入。当 Excel (不是你) 在公式周围加上花括号时,你就知道它输入正确了:

    {=MAX($A$2:$A$11*--($B$2:$B$11=B16)*--($A$2:$A$11<=A16))}
    

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      相关资源
      最近更新 更多