web-dev-qa-db-ja.com

2つのIF(AND関数を1つに結合することは可能ですか?(OpenOffice Calc 4.1.7)

2つのIF/AND関数を1つに結合することは可能ですか? (OpenOffice Calc)

完全に機能する2つのIF/AND関数がありますが、両方を同じ行で機能させる必要があります。これを達成する方法はありますか?私はOpenOfficeCalcの完全な初心者であり、どんな助けでも本当にありがたいです。

任意の行で、列DはBUYまたはSELLのいずれかの入力を受け取ります。それぞれの計算は異なり、答えは列Pに表示されます。

=IF(AND(D15="Buy";N15>99);((H15+i15)*M15);((O15-(H15+i15))*M15))
=IF(AND(D14="Sell";N14>99);((H14+i14)*M14);((H14+i14)*M14)-O14)

DにBUYまたはSELLのいずれかを入力すると、適切な計算が行われ、列Pに表示されます。

私のバックアップ計画は、Nの後に列を追加することです。列Nは一方の関数を実行し、新しい列Oはもう一方の関数を実行します。ワークシートを3ページ目に拡張したくないので、これは本当にしたくありません。これを強制された場合、購入または販売のいずれかがDに入力されたときに、適切なボックス(NまたはO)が自動的に強調表示されるようにするにはどうすればよいですか?

たとえば、D10でBUYと入力すると、N10はその周囲に境界線を表示します。 (Nは、フォームの後半をトリガーする変数の移動先です。100以下のいずれかです。)

私を助けてくれるOpenOfficeの天才に事前に感謝します

enter image description here

1
BinaryGuy

IFステートメントをネストできるので、次のようなことを試してみてください。

=IF(AND(D15="Buy";N15>99);((H15+I15)*M15);IF(AND(D15="Sell";N15>99);((H15+I15)*M15);((O15-(H15+I15))*M15)))

Excelでは、IFを7つのレベルにのみネストできます。OpenOffice/ LibreOfficeで同じかどうかはわかりません。

更新

コメントに続いて、私の数学は昨日私を失敗させていました。最後に少しハックして、別のIFステートメントでクローバーを取得する必要があるかもしれません。

=IF(AND(D15="Buy";N15>99);((H15+I15)*M15);IF(AND(D15="Sell";N15>99);((H15+I15)*M15);IF(D15="Buy";((O15-(H15+I15))*M15);(((H15+I15)-O15)*M15))))

最初の2つのIFは、N15が99を超える場合に適用する式を選択します。最後のIFは、N15が99未満の場合に適用する式を選択します。

0
Burgi