セルの値に基づいて数式をトリガーする

セルの値に基づいて数式をトリガーする

IF 関数と VLOOKUP 関数を使用して、特定の行の内容に基づいて数式をトリガーしようとしています。

最初の行には支払額が含まれています。2 番目の行には、元の金額の 5 つのうちの 1 つ (115、95、65、45、35) が含まれています。

セルに元の金額のいずれかが含まれている場合は、正しい数式をトリガーして、「元の金額」(数値形式) または「8.50」の 2 つの回答のいずれかを返す必要があります。

「Due」はゼロか、「Org$」以上の値になります。そうでない場合は、エラー メッセージが返されます。

例えば、

Due    Org$    Answer I need formula return
0.00    45     45
65.00   65     8.50
115     35     8.50
0       115    115

Org$ がこれら 5 つの値のいずれかである場合、その org$ がゼロに等しいかどうかを判断する数式がトリガーされ、元の金額が生成されます。ゼロでない場合は、「8.50」が生成されます。org$ の数字が 5 つのいずれでもない場合は、「ERROR」が表示されます。または、「Due」の値が Org$ より小さい場合は、「ERROR」という結果が表示されます。

IF 文字列を使用してみました(=IF(B2=115,$J$4,IF(B2=95,$J$5,IF(B2=65,$J$6,IF(B2=45,$J$7,IF(B2=35,$J$8, "ERROR")))))。$J$4 は表内で次のようになります。=IF(B2<=A2, 8.5,115)

これを使用すると、最初のものは正しく出力されますが、それ以下のすべてのOrg$は、「Due」の内容に関係なくOrg$の回答を返します。

何か提案はありますか? これに 2 日間取り組んでいます (vlookup と if 関数を組み合わせて使用​​することも試しました)。

答え1

以下を使用できます。

=IF(ISNUMBER(MATCH(B2,{115,95,65,45,35},0)),IF(B2<=A2,8.5,B2),"Error")

Match は org$ の値を 5 つの元の金額 (115、95、65、45、35) と比較します。
一致する場合は数値を返します。If は B2<=A2 をテストします。True
は 8.5 を意味し
、False は B2 の元の金額 ((115、95、65、45、35) のいずれか) を意味します。
一致しない場合は、数式は「エラー」を返します。
数式を列の下にドラッグできます。

関連情報