我想改进一个公式。该公式是:
=IFERROR(INDEX(IndexColumn,SMALL(IF(MilestoneColumn=TODAY(),ROW(MilestoneColumn)-ROW(MilestoneColumnFirstCellLocked)+1),ROWS(MilestoneColumnFirstCellLocked:FirstCellUnlocked))),"")
我的问题是,这会返回具有指定里程碑日期为今天的索引值的索引列值。但是,我希望当里程碑日期等于今天或昨天或相邻状态值为“P”的过去日期时显示索引值。
当我使用该=OR()
函数时,它不起作用。我尝试过将其放在函数OR()
之后IF()
和之前。我尝试了多种方案。我取得的唯一进展是将其VLOOKUP()
与一个IF()
公式配对,以确定相邻单元格是否具有“P”投影状态。
例如:
=IFERROR(IF(VLOOKUP(INDEX(Utilities'!$E$5:$E$135,SMALL(IF(Utilities'!$O$5:$O$135<=TODAY(),
ROW(Utilities'!$O$5:$O$135)-ROW(Utilities'!$O$5)+1),ROWS(Utilities'!$O$5:$O5))),Utilities'!$E:$P,12,0)="P",
IFERROR(INDEX(Utilities'!$E$5:$E$135,SMALL(IF(Utilities'!$O$5:$O$135<=TODAY(),
ROW(Utilities'!$O$5:$O$135)-ROW(Utilities'!$O$5)+1),ROWS(Utilities'!$O$5:$O5))),""),""),"")
这种方法的唯一问题是,当它进一步深入仪表板列时,它会提取不正确的数据,并且它会用填充单元格之间的空白单元格填充/堆叠索引列值。
我有按日期和相邻状态列管理的里程碑。我的目标是提取行/单元格中日期为今天或之前的项,以及相邻状态列中带有“P”的项 - 只需要一种更简洁的方法来执行此操作。