[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『答えを空欄にしたい』(あお)
=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
のわーるほど・・・ありがとうございました(あお)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.