在Excel数组函数中结合大、积和逻辑过滤
摘要:一个复杂的(对我来说)多页数组公式在某一列中停止工作,我不知道为什么 设置:我正在编制一份电子表格,为幻想棒球运动员建立价值观。表1包含每个击球手粘贴的原始统计数据,表2包含中间计算,允许我确定最终值在Excel数组函数中结合大、积和逻辑过滤,excel,excel-formula,Excel,Excel Formula,摘要:一个复杂的(对我来说)多页数组公式在某一列中停止工作,我不知道为什么 设置:我正在编制一份电子表格,为幻想棒球运动员建立价值观。表1包含每个击球手粘贴的原始统计数据,表2包含中间计算,允许我确定最终值 在示例公式中,Sheet1列C保存指定位置的文本字符串,Sheet1列E保存每个球员的at击数 第三个引用列与正在处理的统计信息相关联 前两个公式按预期工作,但我添加它们是为了帮助将整个过程上下文化 所有这三个公式都在表2上实现 公式A:旨在通过平均“合格池”中的第157-171个值来计
- 在示例公式中,Sheet1列C保存指定位置的文本字符串,Sheet1列E保存每个球员的at击数李>
- 第三个引用列与正在处理的统计信息相关联李>
- 前两个公式按预期工作,但我添加它们是为了帮助将整个过程上下文化
- 所有这三个公式都在表2上实现
{=(SUMPRODUCT(大型)(如果(Sheet1!$E$2:$E$1500>199,Sheet1!V$2:V$1500),行(间接($157:$171))))/15)
公式B:仅用于计算捕手给定统计数据的“重置值”,因为该位置稀缺。通过平均“合格池”中的第13到第16个值来工作。合格值是指球员至少有200次击球且描述其位置的单元格包含“C”的值。有12支球队乘以1名必需捕手等于12名联盟捕手
{=(SUMPRODUCT(大型)(如果((ISNUMBER(搜索(“C”,Sheet1!$C$2:$C$1500)))*(Sheet1!$E$2:$E$1500>199),Sheet1!V$2:V$1500),行(间接($13:$16”))/4)
公式C:仅用于计算非捕集器给定统计数据的“替换值”。计算“合格池”中第145至158个值的平均值。合格值与公式B相反;其目的是捕获位置单元格中不包含“C”或至少不包含200个BAT的所有值
{=(SUMPRODUCT(大型)(如果((ISNUMBER(搜索(“C”,Sheet1!C$2:$C$1500)))+(Sheet1!E$2:$E$1500<200)>0),Sheet1!V$2:V$1500),行(间接($145:$158”))/14)
问题行为:公式与从外部来源粘贴的统计数据完美结合。但是,在Sheet1中添加了四列,其值源自粘贴的值。例如,Sheet1!V2将采用以下公式:
=$Q2-(第二张!$O$5*$E2)
第二张!O5包含基于Sheet1中的值的公式,但不包含V列,仅包含粘贴的值。表2的价值!O5为0.4825
当应用于添加到Sheet1中并从粘贴的值派生的四个统计数据时,公式C为每一个返回0。
公式A和B与预期一样使用四个新统计信息,公式C使用所有粘贴的值统计信息
尝试的解决方案:
- 将新计算的统计数据替换为其值(而不是公式)
- 使用
的原因是一些玩家可能有多个位置。我想用“C”分隔每个人,即使单元格中有更多字符IF(ISNUMBER(SEARCH())
- 四个新统计数据的预期值与粘贴统计数据的预期值之间的一个区别是,我预期的结果(返回零)预期为负。应用公式C的其他统计数据都不会期望或返回负值。但是,公式A和B返回四个新统计数据中预期的负值,没有问题
谢谢。我仍然不知道原因,但问题得到了解决,方法是在公式的“value if true”部分添加引号,而不是将两个逗号放在一起 修正公式:
{=(SUMPRODUCT(大型)(如果((ISNUMBER(搜索(“C”,Sheet1!C$2:$C$1500)))+(Sheet1!E$2:$E$1500<200)>0),“”,Sheet1!V$2:V$1500),行(间接($145:$158))/14)
添加引号对数据为正值的列的值没有影响,但会将数据为负值的列从0切换到预期的负值