【问题标题】:Excel: Finding next equal match in columnExcel:在列中查找下一个相等匹配
【发布时间】:2017-03-26 22:48:41
【问题描述】:

我已经用谷歌搜索了几天来解决我的问题,但我似乎无法理解如何做到这一点。

我有 28 只鸡,我每个月都会跟踪每只鸡产下的蛋。我的 Excel 工作表如下所示:

Current Egg-cel sheet

C 列由以下公式填充:

=LARGE($A$2:$A$29,$B1)

我正在使用 B 列来增加 LARGE 函数

我希望 D 列填充 C 列中数量的鸡数。

显然 INDEX MATCH 或 VLOOKUP 返回所有相等值的第一个匹配项。如何找到下一场比赛?即

Egg-cell sheet 2

我见过类似的问题和解决方案,但我一辈子都无法让它发挥作用。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    在 D2 中使用这个公式:

    =INDEX(B:B,AGGREGATE(15,6,ROW($A$2:$A$29)/($A$2:$A$29=C2),COUNTIF($C$2:C2,C2)))
    

    然后向下拖动

    【讨论】:

    • 太棒了!谢谢斯科特!我对聚合函数完全不熟悉。你让这个小鸡农的生活变得更轻松了。
    【解决方案2】:

    如果您愿意添加一些 helper 列,这是一个简单的方法:

    C 列中的公式通过将产下的鸡蛋和鸡的数量放在一起来创建一个唯一的数字

    =--(A2&"."&B2)
    

    D 列只是您的LARGE 公式,

    =LARGE($C$2:$C$4,B2)
    

    E 列只获取 D 列的整数部分

    =INT(D2)
    

    最后F列从D列得到小数部分(鸡数)

    =--REPLACE(MOD(D2,1),1,2,"")
    

    【讨论】:

    • 也是完成我需要的一个简洁的方法。谢谢卡勒姆达。这可能对我正在进行的另一个项目有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    相关资源
    最近更新 更多