[[20050912134040]] 『答えを空欄にしたい』(あお) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『答えを空欄にしたい』(あお)

 =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.