cra*_*ams 4 excel if-statement
我有一个我正在制作的电子表格,如下所示:
Index Diff Exc Sym Sec Result Criteria Met
3.42 -2.07 0.86 0.92 1.83 1.95
-0.38 -2.93 0.87 0.23 -2.01 0.09
-2.67 -1.84 0.87 -2.49 -3.48 1.32
-0.65 -0.98 0.46 0.98 -2.01 0.00
-0.73 -2.79 -1.07 -2.15 -1.44 -0.10
0.15 2.33 -0.46 -0.66 3.17 0.38 0.38
0.90 -3.68 -0.72 -1.01 -1.36 1.69
0.68 -1.12 -0.36 0.73 -1.34 -0.29
-1.19 -1.70 -0.56 -1.31 1.45 0.49
-0.45 -0.69 -0.56 -1.22 0.00 -0.49
2.94 8.38 2.21 6.25 4.96 1.74
-1.04 7.36 2.59 3.00 2.17 2.97
1.21 1.73 3.05 1.48 3.56 0.77
-1.10 1.86 0.60 1.18 1.07 -0.49
-0.89 -3.19 -1.78 -2.24 -4.26 -0.81
-1.17 -3.44 0.11 -1.22 3.66 0.36
0.52 0.92 -1.02 0.38 1.96 -1.40 -1.40
-0.90 3.01 -0.86 0.62 0.97 -0.50 -0.50
2.78 1.46 0.00 0.47 1.95 0.84
Max Min
Index 2.00 -2.00
Diff 10.00 0.00
Exc 0.00 -10.00
Sym 10.00 -10.00
Sec 20.00 0.00
Run Code Online (Sandbox Code Playgroud)
在标题索引,差异,消息,符号,秒,结果是所有数据,在标准满足列我有一个公式,检查先前的标题是否落在下面的较小的表的最大和最小限制内,如果他们这样做它会发布结果,如果它们都不属于Max和Min界限,则会将其留空.我是通过使用这个公式做到的:
=IF(AND(A3<$B$24,A3>$C$24,B3<$B$25,B3>$C$25,C3<$B$26,C3>$C$26,D3<$B$27,D3>$C$27,E3<$B$28,E3>$C$28),F3,"")
Run Code Online (Sandbox Code Playgroud)
复制了标准符合列.它完全适合我希望它实现的目标,但随着这个电子表格的增长,我添加了更多的列,似乎它将非常低效并且容易出现很多人为错误.有没有办法达到相同的结果,但使用更有效的公式?
一张图片供参考:
试试这个数组公式:
=IF(SUM((A3:E3<=TRANSPOSE($B$24:$B$28))*(A3:E3>= TRANSPOSE($C$24:$C$28)))=COLUMNS(A3:E3),F3,"")
Run Code Online (Sandbox Code Playgroud)
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认.如果操作正确,Excel将自动放置{}公式以表示数组公式.
需要注意的是,要比较的列需要与最小/最大行的顺序相同.
此外,正如几乎每个人所说的,如果将Min Max转换为来自列的行,则可以减轻使用CSE数组公式的需要.以下将有效:
=IF(SUMPRODUCT((A5:E5>=$A$3:$E$3)*(A5:E5<=$A$2:$E$2))=COLUMNS(A5:E5),F5,"")
Run Code Online (Sandbox Code Playgroud)