Excel公式:如果最高或第二高的结果,返回相邻的合并值

时间:2016-08-02 01:57:26

标签: excel if-statement merge excel-formula formula

我希望根据另一列(F列)中的值是最高值还是第二高值来返回相邻(E列)的结果,而不是忽略重复。这是一个示例数据集:

    B               C               D                E               F          
   -------------------------------------------------------------------------------
 5| PRICING MODELS  X               X                X               SCORE
 6| Free            X               X                X               35
 7| Developer Pays  Pay As You Go   X                X               22
 8| X               Tiered          Subscription     X               0
 9| X               X               Usage            One-Time        22
10| X               X               X                Recurring       0

根据行,合并E列(返回的列I' d)(从B列开始)。下方或右侧的X表示该单元格分别与上方或左侧的值合并。

由于此示例中有5行值,因此我要返回:

    G                       
   -----------------------------------------
27| Free
28| Pay As You Go
29| One-Time
30| No other pricing model is recommended
31| No other pricing model is recommended

免费是35的最高值,即付即用和一次性与第二个最高值22(按层次顺序返回)相关联,而订阅和重复均为0,因此"没有其他定价模型推荐"归还。

我的IF语句逻辑是:

  1. 如果F6:F25中的一个或多个值表示"不完整问卷",请返回"请填写调查问卷",否则
  2. 检查F6:F25中的最高值/第二高值。如果为0,则返回"建议不要使用其他定价模式",否则
  3. 返回E列中与F6:F25中最高值/第二高值相邻的值。
  4. 以下是我为最高值和第二高值创建的公式:

    =IF(COUNTIF($F$6:$F$25,"Incomplete questionnaire"),"Please complete the questionnaire",IF((MAX($F$6:$F$25)=0),"No other pricing model is recommended",INDEX($E$6:$E$25,MATCH(MAX($F$6:$F$25),$F$6:$F$25,0))))
    
    =IF(COUNTIF($F$6:$F$25,"Incomplete questionnaire"),"Please complete the questionnaire",IF((MAX($F$6:$F$25)=0),"No other pricing model is recommended",INDEX($E$6:$E$25,MATCH(LARGE($F$6:$F$25,2),$F$6:$F$25,0))))
    

    一切正常,除了#3,其中返回了相邻的值。如果可能合并同一列,是否可以返回E列中的相邻值?

    谢谢大家,让我知道任何想法。

0 个答案:

没有答案