- 締切済み
エクセル advancedfilterについて
エクセルのadvancedfilter機能について質問です。 抽出条件のセルに =IF(A1=X,"",1) のように一定の条件を満たさない場合、 空白セルになる式を入れたところ、フィルタがこのセルを空白と認識してくれる時とない時があります。 現在、 =IF(Search!B7="","",Search!B7) こちらでは認識され =IF(B11,TRUE,"") こちらでは認識されません。 どういった条件でこれらの認識が変わっているんでしょうか? 使用しているExcelは2007と2010です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
[フィルタオプションの設定(Advanced Filter)]の[検索条件(Criterion)]として、貴方の数式の書き方が一般的でないように、私には思えます。 一般的には、TRUE か FALSE を返す論理式を入力して、TRUE に該当するレコードを抽出させます。 そういう仕組みなので、「=IF(B11,TRUE,"") こちらでは認識されません」ということになるのだと推測しています。 「じゃあ、どうすれば良いのか?」に回答するには、数式(論理式)が参照する[リスト範囲(List range)]の具体例を示していただく必要があります。もっとも、私がお望みの回答を提供できるかどうかは不明ですが…
- KURUMITO
- ベストアンサー率42% (1835/4283)
IF関数は理論式(引数1)が真の場合には引数2を返し、偽の場合には引数3を返しなさいという意味になります。 =IF(B11,TRUE,"")の式ですがB11セルがどんな時に引数2を返すのかがわかりません。例えばB11セルに数値が入力されたらB11セルにTRUEと表示させるのでしたら次のような式になります。 =IF(ISNUMBER(B11),"TRUE","") また、B11セルに数値が入力されたら○をそうでないときは空にするのでしたら次のような式になります。 =IF(ISNUMBER(B11),"○","") これはまた次の式でも正しいのです。 =IF(ISNUMBER(B11)=TRUE,"○","")
お礼
回答ありがとうございます。 ただこちらの言葉が足りなかったのか意図していたものとは違うように質問を受け取られたようです。 私の質問は、上で出した例ではどちらも""が返ってくるときに、Advancedfilterが違う動きをする(一方では空白と捉え、他方では空白でないと捉えます)のはどうしてですかという意味でした。