- ベストアンサー
IF文の入力方法は?
エクセルでのIF文設定が分からず困ってます。 説明 まず添付ファイルの表を参照ください。 その表より、 D列はC列数値(実測値)がA列とB列の上下限界値内であれば合格、範囲外であれば不合格になるようにIF文で作っている(ここまではすでに作成済み)。 この時、求めたい列は、E列です。 D列が不合格の場合は、実測値と上下限界値の差を求めたく、実測値が上限値より大きい場合は、実測値と上限値との差で計算され符合は+、実測値が下限値より小さい場合は、実測値と下限値との差で計算され、符号はーとなり、D列が合格の場合は空白となるようなIF文は設定できますか?ちなみにエクセル2000です。エクセルの詳しい方、御教示願います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
やり方はたくさんあります。 素直にやるなら、 =IF(D2="合格","",IF(C2>B2,C2-B2,C2-A2)) といった感じですかね。 少しテクニカルな感じで、 =IF(D2="合格","",(C2-B2)*((C2-B2)>0)+(C2-A2)*((C2-A2)<0)) というような式もあり得ます。 通常だと符号は負の場合しか付きませんが、正の場合も着けたければ表示形式で設定するのがスマートかと思います。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! やり方は色々あると思いますが・・・ 質問内容の文章をそのままIF関数にすると =IF(D2="合格","",IF(C2>B2,C2-B2,C2-A2)) のようになりました。 すでに同じような回答は出ていますが、一応参考まで・・・ どうも失礼しましたm(__)m
お礼
どうも回答ありがとうございました。 参考になります。またいろりろと御教示願います。
- sabnak
- ベストアンサー率0% (0/6)
例えばE2のセルであれば、以下のような数式でいかがでしょう? =IF(C2<A2,C2-A2,IF(C2>B2,"+"&C2-B2,"")) ただし、プラス符号が付く場合は、Excelが数字ではなく文字列として 認識してしまうので、「上下限界値との差」を用いてさらに計算を する場合は、以下の方法の方が好ましいです。 E2のセルの数式を =IF(C2<A2,C2-A2,IF(C2>B2,C2-B2,"")) にして、そのセルの表示形式を以下の手順で設定する。 設定対象のセルを選択 ↓ 上部のメニューから【書式】→【セル】を選択 ↓ 【セルの書式設定】ダイアログの【表示形式】タブを選択 ↓ 【分類】欄の【ユーザー定義】を選択 ↓ 【種類】欄に「+#;-#;0」を入力 ↓ ダイアログ下部の【OK】ボタンを押下
お礼
実は符号の表記も書式設定でできるだろうとは思っていましたが、方法が分からなかったので、助かりました。ありがとうございました。 感謝いたします。m(_ _)m
お礼
早速の回答ありがとうございました。 とても勉強になりました。これで作業が捗ります。 本当にありがとうございました。感謝します。