我有一个电子表格,其中数据按多个类别排列:日期,位置和ID代码。我需要找出一种方法来显示特定位置的两个日期之间最常见的ID。
我之前尝试过以下建议,这就是我所拥有的:
=INDEX(CodeRange,MATCH(MAX(FREQUENCY(IF((DateRange>=A4)*(DateRange<A5),COUNTIFS(CodeRange,">"&CodeRange,AssetRange,$B$1),""),COUNTIFS(CodeRange,">"&CodeRange,AssetRange,$B$1))),FREQUENCY(IF((DateRange>=A4)*(DateRange<A5),COUNTIFS(CodeRange,">"&CodeRange,AssetRange,$B$1),""),COUNTIFS(CodeRange,">"&CodeRange,AssetRange,$B$1)),0))
名称:CodeRange是ID列,DateRange是日期列,AssetRange是位置列。 A4和A5包含两个日期,$ B $ 1指的是包含位置名称的单元格
但是,当我在较小的数据样本上测试时,此公式会返回错误的ID。我已经确保进入control + shift + enter并且我不熟悉频率功能,所以我怀疑这就是问题所在。
请以任何方式告知,谢谢。
答案 0 :(得分:1)
您缺少样本数据迫使我假设ID代码是一个数值。如果这是正确的,那么MODE function,MODE.SNGL function或MODE.MULT function应该是合适的。类似于您应用于FREQUENCY function的日期条件的数组处理将提供过时的标准。
H15中的数组公式使用MODE.SNGL。
=MODE.SNGL(IF(A2:A25>=F15, IF(A2:A25<=G15, C2:C25)))
需要使用 Ctrl + Shift + Enter↵来最终确定数组公式。 尝试并减少对更接近表示实际数据范围的范围的全列引用。数组公式以对数方式计算计算周期,因此最好将参考范围缩小到最小值。