• ベストアンサー

if(A=B,"",B)の式の効率的な組み方

エクセル2010を使っている者です。 =if(A=B,"",B)という趣旨の式を立てたいのですが、式のわかりやすさ、長さを考えたときに、Aはセル番号なので問題ないのですが、Bが長文の関数式なので、「=if(A=B,"",B)」とするとBの式を2度書くことになり、非常に長文でわかりづらくなってしまいます。 どなたか、効率的に短く書く方法があれば、ご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.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 となる次第です。、

qazxcvfr4
質問者

お礼

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

その他の回答 (3)

noname#204879
noname#204879
回答No.3

[No.2お礼]へのコメント、 》 …とは、どういう意味でしょうか? その前に、貴方が試した結果を教えてください。 期待する結果にならない式を解説するなんて、バカみたい!?

qazxcvfr4
質問者

お礼

結果についてですが、A1,B1が数値であれば、期待したとおりになったのですが、 今回は文字列でして、エラーが表示されてしまいます。 また、長文の式であるB1を2度記載することは変わりありません。 しかし、「=B1*(A1<>B1) 」とは、私の知らない表現を使った式だったので伺いました。 A1とB1が違った場合、B1の値がそのまま入るようなのですが、なぜ、そうなるのでしょうか。

noname#204879
noname#204879
回答No.2

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

qazxcvfr4
質問者

お礼

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

noname#204879
noname#204879
回答No.1

C1: =IF(A1=B1,"",B1) を考えたとき、 B1 の「長文の関数式」の繰り返しを避けるには、 D1: =B1 として C1: =IF(A1=D1,"",D1) とすれば良いだけのこと。

qazxcvfr4
質問者

お礼

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

関連するQ&A

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセルIF関数で0~50は"A" 51~100は"B" 0~-50は"a"  -51~-100は"b"というような式を作りたいです。

    エクセル初心者で、書籍を買って勉強しておりますが、どうしても上手く出来ず困っております。 単純なIFは理解出来ましたが、応用力がなく作業がストップしてしまいました。どうか教えて下さい。 私が、作りたいのは、 セル番号が 0~50 "A" 51~100 "B" 101~150 "C" 151~200 "D" 200以上 "E" 0~-50"a" -51~-100"b" -101~-150"c" -151~-200"d" -200以下 "e" このように表示させるのは可能でしょうか?

  • A,Bのチェックをしたときの関数式がわかりません。

    A,B:trueのとき空白□とします。 A:trueB:false△ A:falsaB:true○ A,Bがfalseのとき◇ 囜をチェックを入れたときとします。 A囜B囜のとき空白□、 A囜B□のとき△ A□B囜のとき○ A□B□のとき◇、としたときの A1、B1、C1、D1、E1セル 囜、囜、if(A1,"","○")、if(A1,"","○")、E1のこの式が分かりません。 if(A1,"","○")、if(B1,"","△")、if(A1,"","◇")、if(B1,"","◇") このときの2つチェックを合わせたE1セルの関数式がわかりません。 できないのでしょうか。教えていただけませんか。2010。

  • エクセル IF関数を教えて下さい。

    エクセル初心者です。関数を教えて下さい。 IF関数でできるのかも解りません。 A組 番号1 山田 花子 A組 番号2 河崎 洋子 B組 番号1 高木 健太 セルA2にA1と入力するとセルB2に山田花子、セルA3にB1と入力するとセルB3に高木健太と自動的に表示する方法を教えて下さい。 IF関数でできるのでしょうか?

  • 【Excel】IF関数の論理式

    FX(外国為替証拠金取引)で、今はExcelでpips計算をしているのですが、毎回下記の計算を手作業で行っています。 ただ、いちいち手作業で計算するのも面倒なので、関数を使って効率化を図りたいと思っています。 ------ 「もしA1セルが"X"の場合は"B1セル-C1セル"、もしA1セルが"Y"の場合は"C1セル-B1セル"」 「もしA1セルの文字列の最後の3文字が"XXX"の場合"B1セル*100"、もしA1セルの文字列の最後の3文字が"YYY"の場合"B1セル*10000"」 ------ 複雑すぎて、私には論理式がわからなかったのですが、これを関数にしていただければ大変助かります。 ※勝手にIF関数だろうなあ、と思っているのですが、他の関数でも計算が可能であれば、何でもかまいません。 お手隙の際に、どうぞよろしくお願いいたします。 ※ちなみに、今はやりの入学試験や資格試験の問題ではありませんので(笑)

  • Excel でIFを使った複数条件の式を教えてください

    お世話になります。 Excelでの入力で困っています。 以下のような条件での式なのですが・・・ セルA1*B1の値が 100,000以下の場合200と出力 100,001以上で200,000以下の場合250と出力 200,001以上は場合450と出力 自分で作った式は IF(A1*B1>200000,450,IF(A1*B1>100000,250,200)) なのですが、上手くいきません。 関数はあまりあつかったことがないので、どなたかご教示いただけると 助かります。 よろしくお願いします。

  • IF関数の論理式

    IFの論理式を参照で入力することできませんか。 例えば、=IF(A3=0,"収入","支出")の場合A3を別のセル番号に置き換えたいんですが、数式をいじらないでやりたいんですが。論理式を別のセル参照でやればとおもうんですが。エクセル2003です。

  • EXCEL2002でA1セルがif文だったらB1セルに

    こんにちは。 EXCEL2002です。以下のようにするにはどのような関数を使えば良いのか教えてください。 A1セルが・・・・ if文だったらB1セルに"○" if文以外の数式だったらB1セルに"△" 文字や数字の値だったらB1セルに"×"  と表示する。 条件付書式などの回答を見ていろいろ調べましたが、分かりませんでした。よろしくお願いします。

  • 【エクセル】関数で「A1が0でないならB1を表示」の式

    エクセルで適当なセルを選択して そこに「A1が0でないならB1を表示」させるようにしたいです。 式の入力を =IF($A1≠0,$B1,"") とすると出来るかと思ったのですが、 ≠という記号がまずいらしく出来ません。 この場合どのように式を入力したらよいか教えてください。

  • =IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

    いつもお世話になってます。 以下の関数式について、お時間がありましたらどうぞご教示ください。 =IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE)) 「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」 純粋になんでこのような構文になるのかが解りません。 1.ISNAってそもそもなんでしょう? 2.同じ式を繰り返すのはなぜ? (模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。) ・参考となる他所のページがあれば教えて下さい。 ・素人です。お手柔らかにお願いします。 (エクセル2003)

専門家に質問してみよう