- ベストアンサー
IF関数と表示形式を他のセルから設定
こんにちは。交通費明細をExcelで作成しており、 関数や書式で行き詰ったのでご教授下さい。 A1はドロップダウンで【空白、→、⇔】を選択できるようになっています。 すぐ下のセルA2には金額を入れるようになっています。 やりたい事は、A1で⇔を選んだ時のみ、A2に入っている金額に"x2"という表示をつけたいのです。 A1もA2もマクロを組んだクリアボタンを押すとDeleteされるようになっています。 ので、A1やA2自体にIF関数を入れられません。(消えちゃうので) A2のセルの書式設定の表示形式をいじろうとしても、条件は入れられず…? A3にIF関数を入れてA1が⇔だったらA2を変更…としようとしたのですが、自分のセルを変更させるのは分かりますがA2を変更、というのがどう書いたら良いのか、はたまた他のセルを変化させられるのか、よく分かりません; VBAを使えば出来ますが、VBAを使わずに実現できる方法がありましたら ご教授お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>VBAを使わずに実現できる方法がありましたら 一般機能では人間の判断が必要になります。 >A1で⇔を選んだ時 はA2セルの表示形式を #,##0"x2" にする A1で⇔を選ばなかった場合は は A2セルの表示形式を #,##0 にする ところでB2セルに =IF(A1="⇔","x2","")ではだめ?
その他の回答 (3)
- cistronezk
- ベストアンサー率38% (120/309)
トータルコストを考えると一番コストがかからないのは、IF関数でA2の近くのセルに「x2」を表示させることでしょう。 A2のセルではなくほかのセルに表示することで、どれだけ仕事に重大な支障や損失が生じるのかわかりませんが、そのために何時間、何日も頭を悩ますよりもほかの仕事をした方が、フツーは余計なコストがかからず断然効率的なはずです。
お礼
回答ありがとうございます。 他のセルに表示させる事で発生する事は、ページのデータをクリアする時に例えば A1からZ30まで と一括で消せないので そこを設定するのが面倒だった感じです。 すぐ隣のセルに「x2」と表示させる事で解決しました。ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17069)
>A3にIF関数を入れてA1が⇔だったらA2を変更…と 冗談じゃない。関数の基本原理からしてそんなことは出来ない。式を 入れたセルの値を関数で決められるだけで、別のセルの値は左右できない。 VBAを使うと、入力者が素人だもんで・・なんて理由を書いて、VBAを避けている質問者がいるが、 A2セルのコメントででも対応したら。 A2の値を、ある場合には2倍したいなら、そのセルを使う(参照する)セルの式などで考慮したら。
お礼
回答ありがとうございます。 他のセルの値は左右できないのですね。 CoalTarさんの回答を参考に、すぐ隣のセルに「x2」と表示させる事で解決しました。ありがとうございました!
- mu2011
- ベストアンサー率38% (1910/4994)
VBAでないと無理です。 他では、合計金額用を追加して表示するぐらいでしょうか。 例えば、A1が往路区分、A2を単金、A3に往路条件を判定して表示する。
お礼
回答ありがとうございます。 ムリなのですね。私が無知な為かと思っていました。。。 やはり他のセルに表示、ですね。ありがとうございました!
お礼
回答ありがとうございます。 >ところでB2セルに =IF(A1="⇔","x2","")ではだめ? なるほど!印刷した時に綺麗になるようにと 同じセルに表示する事ばかり考えていましたが そうですよねー!と、作り直しました。 順調です。ありがとうございました!