- ベストアンサー
EXCEL 偽の場合はセルの内容を変えない
IF関数を組み合わせて式を作りましたが、条件が合わないときはセルの内容を変えないで欲しいのです。方法がありますか? B2の式=IF($A$1>B1,A1*B1,そのまま)みたいな つまり、FALSEや空白を返すのではなく内容を変えないで欲しいのです 素人の質問ですみません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「そのまま」とは具体的にどういう状況を「そのまま」なのか説明がありませんが。 >方法がありますか? とりあえずご質問の直接の回答としては 手順: ご利用のエクセルのバージョンも不明のご相談ですが、バージョンに応じた方法でエクセルのオプションの 「反復計算を行う」 のチェックを入れる A1とB1に適当な数字を記入する B2に =IF($A$1>B1,A1*B1,B2) と記入する A1とB1をてきとーに変更する と出来ます。
その他の回答 (2)
- Cupper-2
- ベストアンサー率29% (1342/4565)
自身のセルを参照して自身の値を決定することは一部の関数を除いて不可能です。 循環関数になってしまうからです。 *CELL関数は循環しませんので自身のセルを参照して自身のセルの値を決定することができます。 ですので質問のケースではマクロを使わなければ実現不可能なんです。 前の回答者さんが提案しているように作業用のセルを作ってその値を参照して決定することを検討しましょう。
お礼
keithin さんのお答えでバージョンによっては「反復計算を行う」ってのが出来ることがわかりました。 夜分遅くにも関わらず、ありがとうございました。 これで解決とさせていただきます。
- bin-chan
- ベストアンサー率33% (1403/4213)
式・関数で実現可能か?でしょうか セルB2が、別セルを参照してるなら、可能 セルB2が、値を持っているなら、不可能 代替案は別セル(exセルC2)に上記の式を設定し、「そのまま」をB2に置換。 で、列Bを非表示にすれば「見かけ上は実現できた」になります。 VBAを使えば実現可能
補足
早速のご回答ありがとうございます。 出来ればVBAを使わずに関数で処理したいと思っています。 「そのまま」のセルには別のデータシートのセルからINDEXとSMALLを使って参照した結果が入っています。 他の検索値を入力すると結果が変わってしまうので困っています。 シートの若い行から「値」貼り付けで確定させて行けばいいんですが・・
補足
スゴイ!! 思ったような表が出来ました。 EXCEL のバージョンは 2013 です。 「反復計算を行う」ってのが可能なことを今知りました。 夜分遅くにも関わらず、ありがとうございました。