Hatena::Diary

★☆ 大江戸温泉off | 二郎off秋葉原off☆★

2009-05-19

LOOKUPについて。

Excelで事務的な事してて、LOOKUP関数について思ったのが。

 

LOOKUP(B1,ほげほげ!A2:W42,ほげほげ!E2:E42)

 

例えばこれね、もしE2のシートが空白だったとき「0」になるの。これはデフォルトな状態らしいんだけど、何も無いからって値「0」がはいるのいやよねぇ。空白がいいわよねぇ。

うーん。

 

ifで分岐つけちゃえばいいんだけれど,これでもいけちゃうんですね。

=LOOKUP(B1,ほげほげ!A2:W42,ほげほげ!E2:E42)&""

 

これで空白でも「0」入らなくなった。

この意味なんだけど個人的な発想。

>=LOOKUP(B1,ほげほげ!A2:W42,ほげほげ!E2:E42)&""

「nullと""」イコール「(つまり同じことなのよ。nullなら)""(にしちゃうわよ)」ってことなのかなぁって////

 

だれか分かる人いますか?

=LOOKUP(B1,ほげほげ!A2:W42,ほげほげ!E2:E42)&""

これでなんで「0」とみなされないで空白となるのか。

 

一応調べたんだけど納得いかんすで。

#もうすでに何言ってるのん。私。

Mr_T_0023Mr_T_0023 2009/05/19 17:24 VBAだから、デフォルトがVariantじゃないかなー>結果

ほげほげ!A2:W42,ほげほげ!E2:E42で返すのはnullかもしれんけど
文字列と結合させた場合に、キャストしちゃってるんじゃないかと思う。
まあ、適当な予測ですが。

yuyu_yukkyyuyu_yukky 2009/05/19 23:40 ""でくくられてるところは文字列
元々の結果は何もなし(null)

何もない(null)の場合は結果は0になるけど、
""で文字列を一緒にくっつけてるから、結果は空白になるんだよー。

n_saito1111n_saito1111 2009/05/20 09:43 Tさん、ゆっきっぽん
よみにくいエントリに返信くれてすみませんw
>文字列と結合させた場合に、キャストしちゃってるんじゃないかと
>何もない(null)の場合は結果は0になるけど、
>""で文字列を一緒にくっつけてるから、結果は空白になるんだよー。
これ!これわかりやすいので納得しました!

ゲスト


トラックバック - http://d.hatena.ne.jp/n_saito1111/20090519/1242716740
おとなり日記