作业帮 > 综合 > 作业

excel 小弟下跪了

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 20:10:08
excel 小弟下跪了
=INDEX(BOM!C:C,MIN(IF((COUNTIF(A$2:A2,OFFSET(BOM!$C$3,bom数量))=0)*MMULT((OFFSET(BOM!$B$3,bom数量)=TRANSPOSE(OFFSET(计划投产!$A$3,投产数量)))*IFERROR(-OFFSET(BOM!$D$3,bom数量),0),IFERROR(-OFFSET(计划投产!$E$3,投产数量),0)),ROW(OFFSET(BOM!$C$3,bom数量)),2^20)))&""
其中定义名称:
bom数量 投产数量
COUNTIF(A$2:A2,OFFSET(BOM!$C$3,bom数量))=0
还有 min函数 也可以跟index
这个公式小弟研究一个月了,求知若渴,
COUNTIF(A$2:A2,OFFSET(BOM!$C$3,bom数量))=0
此句是在A$2:A2,这个范围内去找一个值,这个值是一组单元格,单元格是BOM!$C$3偏移得来的.
OFFSET(BOM!$C$3,bom数量,指出偏移的单元格是从BOM!$C$3,开始,宽度为"bom数量"返回的那么宽.
=0,
意思是找不到
MIN,当然可以INTEX合用,因为它返回的是后面一组数的最小值,而INDEX,它在这里只不过要有一个数,看应返回第几行.这不正合适吗?
再问: 老师能解释下if 吗? 等于0是找不到 那找不到干嘛呢? 找到又干嘛呢? 老师能翻译下 if 吗?
再答: 你没见有IF在前面吗, 当找不到,同时, 还要满足以下公式的条件的时候 MMULT((OFFSET(BOM!$B$3,,,bom数量)=TRANSPOSE(OFFSET(计划投产!$A$3,,,投产数量)))*IFERROR(-OFFSET(BOM!$D$3,,,bom数量),0),IFERROR(-OFFSET(计划投产!$E$3,,,投产数量),0)) 返回 ROW(OFFSET(BOM!$C$3,,,bom数量)), 否刚返回这个 2^20这个极大值,这个值是极限行,一般不用到的。也就是说让INDEX返回一个空行的值。
再问: COUNTIF(A$2:A2,OFFSET(BOM!$C$3,,,bom数量))=0)*MMULT((OFFSET 老师 这里的 * 是什么意思? 当找不到就 乘以 mmult函数吗?
再答: 你可以理解它为判断语句中的“和”