【发布时间】:2017-07-13 08:35:06
【问题描述】:
我有一个包含来自排水程序(管道和坑)的值的电子表格,我想创建一个公式来查找坑名称,然后在连接到该坑的管道的下游端找到最小值。
我可以用一个数组来做 - {=MIN(IF('ArcGIS Pipes'!$C$2:$C$100=A3,'ArcGIS Pipes'!$F$2:$F$100))}。但是,有时坑只连接到上游端,这意味着它位于U/S IL (m) 下的不同列中。如果是这种情况,那么我想要那个值,但目前我必须先运行 D/S IL (m) 列公式,如果没有返回任何内容,那么我必须手动将 null 单元格更改为 {=MIN(IF('ArcGIS Pipes'!$B$2:$B$100=A2,'ArcGIS Pipes'!$E$2:$E$100))} 以检查U/S IL (m) 专栏。一旦我这样做了,任何剩余的null 值都是不连接到任何管道的坑,并且它们被手动赋予空值。
所以,我想做的是有一个公式可以为我完成上述所有操作,而我不必经历和摆弄事情。简而言之,我希望公式首先检查一列中的最小下游值,如果不返回任何内容,那么我希望它检查另一列中的最小上游值,最后如果不返回任何内容,那么我希望返回空值。
我摆弄了嵌套的 IF 和子数组,但只是得到一个错误或 FALSE 返回。我试过的公式给我FALSE 是=IF((MIN(IF('ArcGIS Pipes'!$C$2:$C$100=A2,'ArcGIS Pipes'!$F$2:$F$100))),IF(MIN(IF('ArcGIS Pipes'!$B$2:$B$100=A2,'ArcGIS Pipes'!$E$2:$E$100)),null))。我知道我错过了一些东西,但我开始绕圈子了!
Screengrab - left table is the source table, right is the results table
【问题讨论】:
-
可以添加表格的屏幕截图吗?
-
请格式化公式;它们目前是阅读的噩梦。
-
如果我明白了,何不试试
=If([first formula]=0,[second formula],[first formula])?您应该在第一列中检查运行它的结果。如果在第二列中是0,则运行第二个公式。 -
差不多了,谢谢@BruceWayne!唯一缺少的是如何在没有发现任何内容时将结果 0 值转换为随机分配的 null',例如 -999。
-
抱歉读错了,在不窃取@BruceWayne 的答案的情况下,再添加一个 if() 使其看起来像这样:=If([first formula]=0,[second formula],if([second公式]=0,"-999",[第二个公式])。
标签: arrays excel if-statement excel-formula conditional