仕事を頑張る人のおしりトラブル対策

エクセル2010を使っている者です。

=if(A=B,"",B)という趣旨の式を立てたいのですが、式のわかりやすさ、長さを考えたときに、Aはセル番号なので問題ないのですが、Bが長文の関数式なので、「=if(A=B,"",B)」とするとBの式を2度書くことになり、非常に長文でわかりづらくなってしまいます。

どなたか、効率的に短く書く方法があれば、ご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

[No.3お礼]へのコメント、


》 「=B1*(A1<>B1) 」とは、どういう意味でしょうか?
1.(A1<>B1 等の)論理式の返り値は TRUE または FALSE です。
2.TRUE や FALSE は四則演算にも使うことが可能で、その場合はそれぞれ数値の 1 や 0 と同じ働きをします。

「A1とB1が違った場合」、論理式 A1<>B1 は TRUE を返しますね
従って、「A1,B1が数値であれば」、=B1*(A1<>B1)=B1*TRUE=B1*1=B1 となる次第です。、
    • good
    • 0
この回答へのお礼

丁寧に教えていただき、ありがとうございます。

勉強になりました。

お礼日時:2014/09/12 09:55

[No.2お礼]へのコメント、


》 …とは、どういう意味でしょうか?
その前に、貴方が試した結果を教えてください。
期待する結果にならない式を解説するなんて、バカみたい!?
    • good
    • 0
この回答へのお礼

結果についてですが、A1,B1が数値であれば、期待したとおりになったのですが、
今回は文字列でして、エラーが表示されてしまいます。
また、長文の式であるB1を2度記載することは変わりありません。

しかし、「=B1*(A1<>B1) 」とは、私の知らない表現を使った式だったので伺いました。
A1とB1が違った場合、B1の値がそのまま入るようなのですが、なぜ、そうなるのでしょうか。

お礼日時:2014/09/11 13:34

[No.1]の別解です。


セル C1 に次の[条件付き書式]を施しておけば、セル C1 の式を =B1*(A1<>B1) とすれば好いのでは?お試しください。
 セルの値が  次の値に等しい  0
 フォント色  白
    • good
    • 0
この回答へのお礼

ありがとうございます。

すみません。
理解できなかったのですが、「=B1*(A1<>B1) 」とは、どういう意味でしょうか?

お礼日時:2014/09/09 14:55

C1: =IF(A1=B1,"",B1) を考えたとき、


B1 の「長文の関数式」の繰り返しを避けるには、
D1: =B1 として
C1: =IF(A1=D1,"",D1) とすれば良いだけのこと。
    • good
    • 0
この回答へのお礼

ありがとうございます。

しかし、そのやり方だと列が新たに必要になるため、避けたいのです。

お礼日時:2014/09/09 14:53

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報