我有一个来自 Later 的观众保留数据库,随着数据库的增加,我正尝试用它来找到发布的最佳时间。
目前,我有此代码,可让我根据最高受众价值确定每天发布的最佳时间:
=INDEX($A$2:$A$1000,MATCH(MAX(B2:B1000),B2:B1000,0))
效果很好,但随着数据的增加,我认为会遇到问题。特别是,我认为如果一列中出现多个值(例如 27 个条目中有 3 个),代码会找到它,但可能无法抓住理想的时间。
因此,我正在寻求一些帮助来获取上述代码,并添加到其中,如果 b 列中的最高值有重复项,请查看那些重复的最高值是否在 a 列中具有匹配的时间戳条目,并给我最常见的重复时间,否则只给我与第一个最高值匹配的时间戳。
因此,如果 b 列中有 3 个 27 项,但其中两个具有相同的时间戳(下午 12 点),而 a 列中的第三个是上午 8 点,请给我下午 12 点的时间戳,否则给我最好的一个(就像原始代码一样)
我希望每个人都能理解这一点,感谢您的阅读和帮助!
答案1
假设有动态数组公式FILTER:
=INDEX(FILTER($A$2:$A$1000,B2:B1000=MAX(B2:B1000)),MODE.SNGL(MATCH(FILTER($A$2:$A$1000,B2:B1000=MAX(B2:B1000)),FILTER($A$2:$A$1000,B2:B1000=MAX(B2:B1000)),0)))
如果没有则使用这个数组公式:
=INDEX($A$2:$A$1000,MATCH(MAX(COUNTIFS($A$2:$A$1000,$A$2:$A$1000,$A$2:$A$1000,MAX($A$2:$A$1000))),COUNTIFS($A$2:$A$1000,$A$2:$A$1000,$A$2:$A$1000,MAX($A$2:$A$1000)),0))
作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。