セルには、、、、または(文字列の)のいずれA1
かがあります。<
<=
>
>=
セルB1
には、intのしきい値があります。
からA3
、intの値があります。
+---+-----+----+
| | A | B |
+---+-----+----+
| 1 | < | 15 |
| 2 | | |
| 3 | 10 | |
| 4 | 20 | |
| 5 | ... | |
+---+-----+----+
の値は、ブール演算子( )としきい値()を尊重する場合にのみA3
コピーする必要があります。それ以外の場合は、である必要があります。もちろん、/ 、/なども同様です。B3
A1
B1
B3
#N/A
A4
B4
A5
B5
その例では、10は15未満ですが、20はそうではないため、はB3
である必要があり10
ます。B4
#N/A
これが私が作成した数式で、うまく機能しますが、少し長いです(これはB3
):
=IF($A$1 = "<"; IF($A3 < $B$1; $A3; NA()); IF($A$1 = "<="; IF($A3 <= $B$1; $A3; NA()); IF($A$1 = ">"; IF($A3 > $B$1; $A3; NA()); IF($A3 >= $B$1; $A3; NA()))))
よりダイジェストの方法で同じ:
=IF(
$A$1 = "<";
IF($A3 < $B$1;$A3; NA());
IF(
$A$1 = "<=";
IF($A3 <= $B$1; $A3; NA());
IF(
$A$1 = ">";
IF($A3 > $B$1; $A3; NA());
IF($A3 >= $B$1; $A3; NA())
)
)
)
その仕事をするためのもっと便利な方法はありますか?文字列から演算子へのキャストは素晴らしいでしょうが、ええ、私はそのような種類のことを行うことができるプログラミング言語を知りません。:)
理想的には、それは次のようなものでなければなりません=IF($A3 $A$1 $B$1; $A3; NA())
...