[[20051108175022]] 『この関数の意味を教えて下さい』(とも) ページの最後に飛ぶ

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

 

『この関数の意味を教えて下さい』(とも)

他の人が作ったですが、意味がわからなく・・・。

店舗CD 店舗名 商品 日付・・・・・とデータがあります。

店舗CDに、500と入力すると、店舗名に自動的に入力されます。
店舗名には、下の関数が入力されています。
なぜ、店舗CDを入力しただけで、店舗名が表示されるようになるのでしょうか?
エクセル初心者の私には意味が分からなく・・・。
作った人にが、辞めてしまった為、聞くことができないので、教えていただけますか?
宜しくお願いします。

店舗名には、以下の関数がありました。

IF(ISERROR(VLOOKUP(B17,店舗名,2,FALSE)),"",VLOOKUP(B17,店舗名,2,FALSE))


 IF(ISERROR(VLOOKUP(B17,店舗名,2,FALSE)), 「 もし( VLOOKUP(B17,店舗名,2,FALSE) と言う式がエラーだったら,」
 "",                   「そのときは ""[空白] にしなさい,」
 VLOOKUP(B17,店舗名,2,FALSE))       「そうでなければ VLOOKUP(B17,店舗名,2,FALSE) を計算しなさい) 」
 
計算の本体は↓で、
 
VLOOKUP(B17,店舗名,2,FALSE)
 
そのの意味は
「店舗名という範囲の先頭列からB17の値を完全一致で探して、その右隣の列の値を表示しなさい」
 
メニューを挿入>名前>定義 と選んでいくと、
「店舗名」というセル範囲が定義されているはず。
(みやほりん)

 VLOOKUP関数は↓も参考にしてください。
エクセルの学校 ライブラリ (e1tw)VLOOKUP関数Win
http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html
(みやほりん)


ありがとうございます。vlookupを勉強してみます。
それと、図々しいのですが、名前の定義の意味がわからないのですが、それも教えて頂いて宜しいでしょうか?
すみませんが宜しくお願い致します。

追加で申し訳ないのですが、この関数以外のやり方で、店舗CDを入力すると店舗名を表示されるやり方はありますか?
上の関数を使う方が、やはりいいのでしょうか?

 >名前の定義の意味がわからないのですが
 
一定のデータ範囲に名前をつけてあげるということです。
たとえば「店舗名」というのがA1:A20の範囲を定義した名前だったとして
 VLOOKUP(B17,店舗名,2,FALSE) は
 VLOOKUP(B17,A1:A20,2,FALSE) と同じ意味ですが
名前をつけてあげたほうが視覚的にわかりやすいでしょう?^^
データ検索の種類が少ないうちはそれほど感じないかもしれませんが
検索のパターンが増えてくると、この差が侮れないんですよ〜。
本当はわかりやすさ以外にも利点はありますが、基本的には、まあそれだけのことです^^;

 >この関数以外のやり方で
 
なくはないですが、VLOOKUPが一番ポピュラーだと思いますよ。
これだと何か不都合でもあるのでしょうか?
(庸)


 [庸]さん、不在の間ありがとうございます。
>名前の定義の意味
は[庸]さんの解説のとおりです。
VLOOKUP(B17,店舗名,2,FALSE)
という式にしたほうが判りやすいと、その「他の人」は判断したのでしょうね。
ですから、「店舗名」と定義されたリスト(セル範囲)がどこかにあるはずです。
でも、もしかしたら、
セル範囲を特定する数式に「店舗名」という名前定義を行っているかもしれません。
 
>店舗CDを入力すると店舗名を表示されるやり方はありますか?
同じ答えが期待できる式ではとにかく短く、ということであれば、
IF(ISERROR(VLOOKUP(B17,店舗名,2,0)),"",VLOOKUP(B17,店舗名,2,0)) 「FALSEと0の置き換え」
IF(ISNA(VLOOKUP(B17,店舗名,2,0)),"",VLOOKUP(B17,店舗名,2,0)) 「ISERRORとISNAの置き換え」
また、リストの内容にもよりますが、
IF(COUNTIF(店舗名,B17),VLOOKUP(B17,店舗名,2,0),"") 「エラーチェックをCOUNTIFで」
 
他にもありますが、どれが「よいかどうか」は私にはわかりません。
「理解して使えるかどうか」は[とも]さんが判断されることだと思います。
(みやほりん)

みやほりんさん、庸さん、ありがとうございました。
私が初心者なので、関数の意味がまったくわからないので、私でもすぐに出来るような
簡単なやり方があればと思い質問をさせて頂きました。

>「店舗名」と定義されたリスト(セル範囲)がどこかにあるはずです。
とあったので、非表示にしているセルがあるか確認してみたんですが、ありませんでした。ないと言うことは、「店舗名」というセルを名前定義し、一度入力があったものを見つけて、2回目以降は店舗名を表示させていると言う考え方でいいのでしょうか?
長々とすみませんが、お願い致します。


 B17に表示された店舗名を いちど検索してみたら如何でしょうか
 (dack)


 >メニューを挿入>名前>定義 と選んでいくと、
 >「店舗名」というセル範囲が定義されているはず。
 >(みやほりん)
これは確認してみましたか?
  
&、みやほりんさんの解説で関数の意味は理解できましたでしょうか。
IFもVLOOKUPも非常に頻繁に使われる基本の関数です。
もっと簡単な〜と言わず、この際しっかりマスターすることをお勧めします(庸)


メニューを挿入>名前>定義 と選んで「店舗名」というセル範囲が定義されているかの確認を忘れていました。すみません。
定義に、店舗名とありました。

みやほりんさんの解説で、この関数の意味を理解は出来たような気がします。
でも、完璧に分かったとは言えないので、他の例題を探して、自分なりに復習をしてみようと思います。
庸さんのおっしゃる通りで、もっと簡単な〜と言っては失礼ですよね。
せっかく教えて頂いたのですから、自分なりに勉強をしてみます。
きっと、またわからなくなって質問をすることになると思いますが、その時も宜しくお願いします。
みやほりんさん、庸、dackさん、色々とありがとうございました。勉強になりました。


 あー、もう解決されている感じですが、誤解があるといかんので・・・。
>一度入力があったものを見つけて、2回目以降は店舗名を表示させていると言う考え方でいいのでしょうか?
VLOOKUP関数が2回使われているのはなぜ?という質問だと推測しますが、
CDが正確に、そして必ずB17へ入力されていれば、
=VLOOKUP(B17,店舗名,2,FALSE) だけでちゃんと店舗名を表示します。
 
ここで例えば、B17に間違ったCDを入力したり未入力であった場合は
「#N/A!」というエラー表示(該当する検索値がない)されます。
この数式の作者さんは「エラー表示よりも空白にしておいたほうが見栄えがよかろう」
ということで、IF関数を使ってVLOOKUP(B17,店舗名,2,FALSE)がエラーになる場合の処理も
書かれているのです。IF関数の書式も含めてもう一度書きます。
 IF(条件,条件が真のときの処理,条件が偽の時の処理)
 
 IF(                   「もし(」
 ISERROR(VLOOKUP(B17,店舗名,2,FALSE)),   「VLOOKUP(B17,店舗名,2,FALSE)がエラーだったら,」           =条件
                      ↑このVLOOKUPはB17が適正な値かどうかを調べるために使っている。
 "",                   「そのときは ""[空白] にしなさい,」                =条件が真のときの処理
                      ↑B17が不正な値の時
 VLOOKUP(B17,店舗名,2,FALSE))       「そうでなければ VLOOKUP(B17,店舗名,2,FALSE) を計算しなさい) 」=条件が偽の時の処理
                      ↑B17が適正な値の時はVLOOKUPの結果を表示する
 
(みやほりん)


みやほりんさん、ご丁寧にありがとうございます。
今回の説明で、以前よりもわかりました。
私のつたない説明ですみませんでした。
VLOOKUP関数が2回使われている意味が、理解できなかったんです!でも、これは私の勉強不足が原因なので、もう少し自分でやっていけば理解できるものと思っていたので・・・。本当にありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.