『答えを空欄にしたい』(あお) =IF(COUNTIF(参照!$A$2:$A$350,AK7),VLOOKUP(AK7,参照!$A$2:$Q$350,5,0),"") という式を入れているのですが、FALSの際空欄になりません。 何がいけないのでしょうか? ---- 式に変なところはなさげ。。。 >FALSの際空欄になりません FALSって、エラーの場合と解釈しましたが、違うかな? 空欄にならずに、何が返りますか? (代奈) ---- 0がでます。$A$2:$Q$350で空欄のところですねぇ。 あ、空欄の場合の数式さらに付け足さないといけないとか・・・・?(あお) 追加です。 =IF(COUNTIF(参照!$A$2:$A$350,AK7),IF(VLOOKUP(AK7,参照!$A$2:$Q$350,5,0)>0,VLOOKUP(AK7,参照!$A$2:$Q$350,5,0),"")) こんなんでいいんでしょうか〜。空欄にはなりましたが・・・長すぎですかねー。 ---- 論理式の部分が COUNTIF(参照!$A$2:$A$350,AK7) で、参照シートのA2からA350の範囲で AK7と同じものがいくつあるかを数えられているようですが、 数えたものが『何』だったら真か、を設定されていないんじゃないでしょうかね?? =IF(1,A1,B1) としてみましたら、A1,B1の値を変えても常にA1の値が返されてきましたが… 全然的はずれだったらごめんなさい^^;(かなれっと) ---- かなれっとさん、こんにちは(^^) 私が理解していないのかもしれないけど、AK7が1つでもあればVLOOKUPを実行し、 一つもなければ空欄にしなさい、ということかな?と思ったのですが。 んー、式は苦手(笑) (代奈) ---- 代奈さんの言うとおりです。AKが1個でも一致していれば、VLOOKUP実行、 でVLOOKUPでAKと一致していても空欄がある場合があって、 そのときに0が出てしまうので空欄にしたかったんです。 あとうろおぼえなのですが、VLOOKUPって参照値の書式設定が文字列でも 大丈夫でしたっけ(あお) ---- はう^^; お時間とらせちゃってごめんなさい。 確かに確認いたしました〜 ありがとうございました。(かなれっと) ---- 文字列でも大丈夫! 。。。のはず(笑) お互いが文字列であれば、の話ね(*^◇^*;) (代奈) ---- > でVLOOKUPでAKと一致していても空欄がある場合があって、 > そのときに0が出てしまうので空欄にしたかったんです。 一致していればCOUNTIFでカウントがあり、TRUEの時のVLOOKUPの結果が返りますから ""にはなりませんよね。返り値が文字列でよければ、 =IF(COUNTIF(参照!$A$2:$A$350,AK7),REPT(VLOOKUP(AK7,参照!$A$2:$Q$350,5,0),1),"") ではいかがでしょうか。 (不知詠人) ---- あと、単純にツール>オプションで「ゼロ値」を取っちゃうとか(^^;) (代奈) ---- 不知詠人さん、教えてください。 上記計算式だと、確かに空欄が返ります。 ただ、どうして空欄が返るか理解できてません・・・ 計算式を見ていくと、 =IF(TRUE,REPT(VLOOKUP(AK7,参照!$A$2:$Q$350,5,0),1),"") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@ =IF(TRUE,REPT(0,1),"") ~~~~~~~~~A =IF(TRUE,"","") ~~~~~~~~~~~~~~B ="" @の結果はわかります。 Aの計算後になぜ、"" が返るかが解りません(;_;) Aの意味が解れば、Bは当然の結果なのですが。。。 もしお時間がありましたら、教えていただけますでしょうか? あおさん、スレをお借りしてスイマセンm(_ _)m (キリキ)(〃⌒o⌒)b ---- 予想(^^) REPT関数で戻るのは、恐らく、"" VLOOKUPで引き当たるのが空白のため。 (代奈@今日はここまで) ---- なるほど〜 =VLOOKUP(AL7,参照!$A$2:$Q$350,5,0) だけで考えると、0 になりますが、 空欄を返しているってことか??? ヘルプで見ると、、、 ''REPT(文字列,繰り返し回数)'' ''繰り返し回数に'' 0 を指定すると、空白文字列 ("") が返されます。 なのですが、上記を見る限りでは、 REPT(0,1) で、0 があるのは、文字列側で繰り返し回数では無いんですよね。。。 (ー_ー;)う〜ん。わからん。。 そういうものって事で納得するしかないのかな〜? (キリキ)(;⌒o⌒)b ---- こちらにも同様のご質問があります。↓                    (LOOKUP) [[20050524220339]] 『0を消す関数』(・・・9) ---- 衝突☆しました、、。 >そういうものって事で納得するしかないのかな〜? と言うよりVLOOKUP関数で戻るデータが空白の時に、0 となる仕様が おかしいような気がします。 =ISBLANK(VLOOKUP(AL7,参照!$A$2:$Q$350,5,0)) は、TRUE が返るのに =VLOOKUP(AL7,参照!$A$2:$Q$350,5,0) だと 0 と表示されますからね。 上記の例だと、=REPT(空白,1) ですから空白が返るのでしょう。 それにしても 0 を表示させたくないケースで REPT関数を使う方法は 初めて見ました。勉強になりました。 別案ですが、このケースでは、セルの書式をユーザー設定で、# にしておけば すむかと思います。 (純丸)(o^-')b ---- LOOKUPさん、純丸さん、ありがとうございます。 純丸さんが仰っている >と言うよりVLOOKUP関数で戻るデータが空白の時に、0 となる仕様が >おかしいような気がします。 この事が言いたかったんですよ〜 でも、勉強になりました!! ありがとうございます。 (キリキ)(〃⌒o⌒)b ---- のわーるほど・・・ありがとうございました(あお)